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

How do I pass non-printable characters to BCP's field/row terminator parameters?

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

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

其中报告

Unexpected EOF encountered

错误。

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

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

十六进制编码:

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

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

我使用 ASCII Table 来快速查找。