[前][次][番号順一覧][スレッド一覧]

mysql:15118

From: "Eigo Mori" <"Eigo Mori" <eigom@xxxxxxxxxx>>
Date: Thu, 24 Dec 2009 17:17:27 +0900 (JST)
Subject: [mysql 15118] Re: バイナリデータの取り込みについて



>> pD == ""; ←消し忘れです。

だとしても、iidaさんのおっしゃるように

>> strcpy(pD, sSqlData);

はうまくいかないのではないでしょうか。

strcpy()は「文字列」をコピーする関数で一般的にバイナリデータをコピーするため
には使えません。文字列の終端記号('\0')に相当するデータが見つかった時点でコピー
をやめるのでは。。。ということをiidaさんが言ってるのかと。

Regards,
Eigo


> 岩崎と申します。
> すいません。訂正です。
>
> iida様 すいません消し忘れです。
>
>> 皆様 お世話になります。
>>
>> 質問です。
>>
>> 今、私はファイルのバイナリデータをMySQLに取り込みたい
> と
>> 思い悪戦苦闘しおります。
>>
>> LAN上でMySQL経由でバイナリファイルを共有したいと思い
>> VS2008 C++でアプリを組み、アプリ内でクエリを発行して
>> データをinsertしたいのですがうまくいきません。
>>
>> 皆様のお知恵を拝借願えないでしょうか?
>>
>> コードはこんな感じです。
>>
>> FILE *pStream;
>> CString sPath1("G:\\file1.***"); // 読込元のファイル
>> CString sPath2("G:\\file2.***"); // 保存先のファイル
>> CString Sql; // Sqlクエリ
>> CString sSqlData; //
>> MySQLからselectで取り出したデータ
>> char pD[100000]; // ファイルの読み書き用
>>
>> // ファイルの取得(読込モード)
>> fopen_s(&pStream, sPath1, "rb");
>> int n = fread(pD, sizeof(char), sizeof(pD),
>> pStream);
>> fclose(pStream);
>>
>> // クエリの作成
>> Sql.Format(_T(
>> "INSERT INTO eudc (id, eudc_data, count) "
>> "VALUES (0, '%s', n)"
>> ), cData, n); ← 訂正 cData でなく pD です
>>
>> // Sqlクエリの発行
>>
>> // MySQLからのバイナリデータを取得
>>
>> // char への変換
>> pD == ""; ←消し忘れです。
>> strcpy(pD, sSqlData);
>> // ファイルへの書き込み
>> fopen_s(&pStream, sPath2, "wb");
>> fwrite(pD, sizeof(char), n, pStream);
>> fclose(pStream);
>>
>> freadでは、ちゃんと取得できてるようですが、
>> pDの先頭がNULLみたいでCStringに変換できません。
>> (%sのところにバイナリデータが入らない。)
>>
>> ちなみにテキストファイルの場合は、これで問題ないです。
>> 又、pDを触らずにそのまま別のファイルに書き込んでも
>> 大丈夫みたいです。
>>
>> 使用環境
>> OS Windows Vista Ultimate SP2
>> 開発ツール VS2008 C++
>> MySQL Ver5.1
>>
>> 以上、初歩的なことかもしれませんが、
>> よろしくお願いします。
>>
>> --------------------------------------
>> Get Disney character's mail address on Yahoo! Mail
>> http://pr.mail.yahoo.co.jp/disney/
>>
>>
>
>
> --------------------------------------
> Get Disney character's mail address on Yahoo! Mail
> http://pr.mail.yahoo.co.jp/disney/
>



[前][次][番号順一覧][スレッド一覧]

     15105 2009-12-14 19:00 [Honda Takayuki <hond] レプリケーションエラー(server id was not set)
     15106 2009-12-14 20:26 ┗[Honda Takayuki <hond]                                       
     15115 2009-12-24 15:54  ┗[岩崎 誠司 <iwasaki_] バイナリデータの取り込みについて    
     15116 2009-12-24 16:01   ┣[<y-iida@xxxxxxxxxx> ]                                   
     15117 2009-12-24 16:25   ┣[岩崎 誠司 <iwasaki_]                                   
->   15118 2009-12-24 17:17   ┃┗["Eigo Mori" <eigom@x]                                 
     15121 2009-12-24 19:45   ┣[Yoshiaki Yanagimoto ]                                   
     15122 2009-12-25 01:59   ┗[ちさ <admin@xxxxxxxx]                                   
     15123 2009-12-25 12:18    ┗[岩崎 誠司 <iwasaki_]