j1987回答ポイント 100ptウォッチ 2

【SQLServer7.0】【BASP21】

BASP21を利用して、
buf = Request.BinaryRead(Request.TotalBytes)
rsMail.Fields("lbData") = BASP.FormBinary(buf,"upload")
という形でSQLServer7.0のImage型のフィールドに格納したバイナリがあります。

これをコマンドラインで
BCP "SELECT lbData FROM テーブル名 WHERE … " " queryout " C:\test\ファイル名 -T -f "c:\test\FILE.FMT"
という形でファイルに書き出しました。

すると、PDFやZIP、LZHなどは正しく再生されるのですが、
画像ファイルは「ファイルが破損しているか、大きすぎる可能性があります」となり、
Office文書は文字化けしていて、正しく再生されません。
(ただし、docxファイルは「開いて修復」の機能により正常化)

ちなみに、ASPで
lbData = rs("lbData")
Response.ContentType = "Application/Octet-Stream; name="ファイル名"
Response.AddHeader "Content-Disposition","attachment; filename="ファイル名"
Response.BinaryWrite(lbData)
として開くと、正しく再生できます。

何とかBCPユーティリティーのように
コマンドラインでバイナリからファイルを再生したいと思っています。
上記現象につき、何か思い当たる点はありませんでしょうか。
よろしくお願いいたします。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2010-09-14 20:54:10
終了日時
2010-09-21 10:45:24
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

ASP678lzh45コマンドライン285文字化け1005PDF1176Office415zip465バイナリ210

人気の質問

メニュー

PC版