我想从sql Server数据库中的varbinary(max)列中检索一些二进制数据以进行调试.
将此数据放入本地二进制文件的最简单方法是什么,最好不必编写丢弃的控制台应用程序?
我已经尝试使用sql Server Management Studio(带有“results to file”选项)但是这会将十六进制编码的二进制字符串输出到文件,而不是原始二进制数据.
解决方法
我用bcp命令找到了
this solution(从命令提示符运行):
c:\temp>bcp "select MYVARBINARYCOL from MYTABLE where id = 1234" queryout "c:\filename.pdf" -S MysqLSERVER\MYINSTANCE -T Enter the file storage type of field filedata [varbinary(max)]: Enter prefix-length of field filedata [8]: 0 Enter length of field filedata [0]: Enter field terminator [none]: Do you want to save this format information in a file? [Y/n] n Starting copy... 1 rows copied. Network packet size (bytes): 4096 Clock Time (ms.) Total : 15 Average : (66.67 rows per sec.)
我使用-T选项使用Windows身份验证连接到数据库.如果使用密码身份验证,则需要使用-U和-P开关指定用户名和密码.
但是我也喜欢Robb Sadler’s answer中的LinqPad建议,不知何故更喜欢它.