2011-09-29 48 views
1

我一直負責將一些數據從SQL Server 2000數據庫中提取到磁盤上的平面格式。我有一點SQL Server的經驗。使用BCP從SQL Server 2000導出圖像列

存在一個表,其中包含存儲在「IMAGE」類型列中的文件以及存儲文件名的nvarchar列。

它看起來像有無數種存儲在表中的文件:Word文檔,XLS,TIF,TXT,ZIP文件等

我試圖提取一使用BCP行,做事情像這樣:

bcp "select file from attachments where id = 1234" queryout "c:\myfile.doc" -S <host> -T -n 

這樣就節省了文件,但它已被損壞,我不能與Word中打開它。當我用文字打開文件時,我可以看到很多文字,但我也看到很多不可渲染的字符。嘗試提取圖像文件時遇到類似問題,例如TIF。照片軟件不會打開文件。

我認爲我正在碰到某種字符編碼問題。

我已經在-CCP(例如試用RAW)和-n選項中玩過了,但仍然無法實現。

在SQL塞雷爾語表有規則「SQL_Latin1_General_CP1_CI_AS」

我從我的Windows 7桌面遠程運行BCP的排序規則。

任何想法我錯了?任何幫助不勝感激。

回答

4

我通過改變BCP問你,當你調用命令的默認選項此工作:

BCP prompts

那帶來的變化是從4比0更改前綴長度字段中的一個。

+0

發佈的答案,當你找到解決你自己的問題 - 完美! –

0

BCP 「選擇從附件其中id = 1234的文件」 queryout 「C:\ myfile.doc」 -S -T -n

此 [圖像]後:I(輸入大寫字母 「I」] 輸入 保存文件Ÿ

卡拉斯..烏爾文件是存在的