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

时间:2015-08-05 18:49:28

标签: powershell sql-server-2012 bcp flat-file tab-delimited

我正在尝试导入到SQL Server 2012中的制表符分隔文件;行终止符是CRLF。以下是我在PowerShell中的BCP语句:

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

报告

  

遇到意外的EOF

错误。

我不能为我的生活弄清楚为什么这不起作用。额外的眼睛会很棒。

修改 经过审核,我认为问题在于-r \ n ... CRLF的元字符是什么?

1 个答案:

答案 0 :(得分:1)

以十六进制编码:

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

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

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