【问题标题】:SQL Server BCP export binary to file: extra data at the begining of the fileSQL Server BCP 将二进制文件导出到文件:文件开头的额外数据
【发布时间】:2017-04-12 06:20:34
【问题描述】:

我尝试将 xp_cmdshell 与此 BCP 一起使用:

'BCP "SELECT TOP 1 Data FROM <FQDN> WHERE Name = ''<name>'' " queryout "C:\exportdir\export_data.dat" -T -n -S .\SQLEXPRESS'

但是我在文件缓冲区的开头得到了一些额外的数据。我测试了两次,两个文件都以

开头

BB 67 B9 00 00 00 00

我想摆脱这个,我尝试用-n-w 替换-N 参数,但没有运气。

【问题讨论】:

    标签: sql-server blob bcp


    【解决方案1】:

    为此,您需要使用为data 字段指定前缀长度0 的格式文件运行导出。您可以从 XML 格式文件或非 XML 格式文件中指定。

    例如生成非 XML 格式文件:要创建非 XML 格式文件,您将使用参数 format nul -f &lt;format_file&gt;(以及其他必需参数)运行 BCP。这将在您指定的位置创建格式文件。使用您最喜欢的文本编辑器并将前缀长度更改为 0。默认情况下,这将由 BCP 生成为非零值,并且无法单独使用带有参数的 BCP 将其自动设置为 0。

    在最后的导出命令中,您将引用格式文件(前缀长度为 0)以原始格式导出文件。更多详细信息请参考格式文件文档:Create a Format File (SQL Server)Non-XML Format Files (SQL Server) 等。

    【讨论】:

      猜你喜欢
      • 2015-02-02
      • 2020-04-06
      • 1970-01-01
      • 2017-07-05
      • 2016-12-25
      • 1970-01-01
      • 2020-05-07
      相关资源
      最近更新 更多