很抱歉,如果这个问题已经被问过,但我在任何地方都找不到。我有一个将文件存储为 BLOBS 的表。保存文件的列是图像数据类型。我希望能够从列中提取二进制数据并将其转换为实际文件。如果可能的话,我希望能够通过 BCP 或管理工作室来做到这一点。
我尝试过 BCP,但由于某种原因,当我尝试拉出 Office 文档时,Word 认为它已损坏。到目前为止,这是我尝试过的(显然,这些值已更改以保护无辜者:):
bcp "select document_binary_data from database where id = 12345" queryout "c:\filename.doc" -n -S server -U username -P password
这不起作用吗?有什么想法吗?
编辑原来你不需要 -n 本机标志。此外,默认情况下,BCP 尝试在图像列中包含 4 字节前缀 - 您实际上希望将此设置为 0。
bcp "select document_binary_data from database where id = 12345" queryout "c:\filename.doc" -S server -U username -P password
输入字段 document_binary [image] 的文件存储类型: 输入字段 document_binary [4] 的前缀长度:0 输入字段 document_binary [0] 的长度: 输入字段终止符 [无]: