Sql server 如何将特设SQLServer查询blob数据导出到二进制文件
我只是希望能够将jpg数据从单个记录导出到一个文件,而不必每次都编写程序 查询:Sql server 如何将特设SQLServer查询blob数据导出到二进制文件,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我只是希望能够将jpg数据从单个记录导出到一个文件,而不必每次都编写程序 查询: select Media from tbl_GEO_ElementImage where ElementImageID = 64902 使用命令行BCP实用程序: c:\temp\>bcp "select Media from tbl_GEO_ElementImage where ElementImageID = 64902" queryout "001.jpg" -T 提示时,给出以下答案: E
select Media from tbl_GEO_ElementImage where ElementImageID = 64902
使用命令行BCP实用程序:
c:\temp\>bcp "select Media from tbl_GEO_ElementImage where ElementImageID = 64902" queryout "001.jpg" -T
提示时,给出以下答案:
Enter the file storage type of field Media [image]: <Enter>
Enter prefix-length of field Media [4]: 0
Enter length of field Media [0]: <Enter>
Enter field terminator [none]: <Enter>
Do you want to save this format information in a file? [Y/n] n
输入字段媒体[image]的文件存储类型:
输入字段媒体[4]的前缀长度:0
输入字段媒体[0]的长度:
输入字段终止符[无]:
是否要将此格式信息保存到文件中?[是/否]n
我最后编写了一个命令行实用程序,允许在无人参与的情况下导出多个图像记录
Usage:
RunSQLOLEDB "[connection string]" "[query]"
e.g.
To extact all images from table Image into separate files 1.jpg, 2.jpg, etc.
SQLImageOut "Provider=SQLOLEDB;Data Source=(local);..." "SELECT CONVERT(varchar(50), ImageID)+'.jpg', ImageData from Image"
or
SQLImageOut @ConnectionString.txt @Query.sql
我必须对多条记录执行此操作,因此我最终编写了一个脚本来生成一系列这些语句,添加了额外的“-n”标志以避免提示输入值。不幸的是,它确实添加了4字节前缀,因为这是默认值,但另一个快速脚本随后删除了前4个字节。谢谢你的帖子,这真的帮了我大忙!