【问题标题】:bcp export varbinary to flat filebcp 将 varbinary 导出到平面文件
【发布时间】:2021-09-28 16:16:37
【问题描述】:

我想使用 bcp 将 varbinary 导出到平面文件 (csv)。 好像可以,但是前面的0x是一个奇怪的编码,我无法摆脱。有人可以解释我做错了什么吗?按照我执行的 bcp 命令和 notepad++ 的屏幕截图

PS C:\Windows\system32> bcp "SELECT TOP 5 CONVERT(varchar(max), [Bild],1) AS SomeImageFieldAsHex FROM [SWTA_HH].[dbo].[Fenster]" queryout "c:\export.csv" -d "SWTA_HH" -T -n -r \n

谢谢大流士

【问题讨论】:

  • -n 告诉 BCP 输出“本机”格式数据,因此 0x 前面的内容是对 SQL Server 很重要的属性。
  • 这些字符真的有问题吗?你试过导入对方吗?
  • 我想将 csv 导入 APEX,虽然我不需要原生格式化 - 没有 -n bcp 要求我填写格式

标签: sql-server bcp


【解决方案1】:

根据bcp Utility 文档,-n switch 指示 BCP 以“本机”格式输出数据,其中包括二进制信息,以允许接收 SQL Server 使用正确的数据类型再次摄取数据。

如果您希望将这些 varbinary 值输出到 .CSV(逗号分隔值)文件,那么您可能希望使用 -c switch 代替字符数据,例如:

bcp "SELECT TOP 5 CONVERT(varchar(max), [Bild], 1) AS SomeImageFieldAsHex FROM [SWTA_HH].[dbo].[Fenster]" queryout "c:\export.csv" -d "SWTA_HH" -T -c -r \n

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多