代码之家  ›  专栏  ›  技术社区  ›  J.S.Orris

如何将不可打印字符传递给BCP的字段/行终止符参数?

  •  0
  • J.S.Orris  · 技术社区  · 11 年前

    我有一个以制表符分隔的文件,我试图将其导入SQL Server 2012;行终止符是CRLF。以下是我在PowerShell中的BCP语句:

    bcp database.dbo.table IN C:\filePath.tsv -SserverName -UuserName -Ppassword -c -t\t -r\n
    

    哪个报告a

    遇到意外EOF

    错误

    我一辈子都弄不明白为什么这行不通。多一只眼睛就好了。

    编辑: 经过审查,我认为问题出在-r…CRLF的元字符是什么?

    1 回复  |  直到 11 年前
        1
  •  1
  •   Aaron Jensen    11 年前

    用十六进制编码:

    bcp database.dbo.table IN C:\filePath.tsv -SserverName -UuserName -Ppassword -c -t0x9 -r0xa
    

    您可以通过对每个字符进行十六进制编码并将它们附加在一起来使用多个字符。例如,我们使用记录分隔符、回车符和换行符来分隔每一行,因此我们传递 0x1e0d0a 作为 -r 参数

    我使用 ASCII Table 以便对此进行快速查找。

    推荐文章