0

有人更改了我正在使用的 BCP 文件中的行和列分隔符。实际上, clumn 曾经是 |~ 并且 row 是默认的 \n 并且不需要规范。我现在似乎无法在没有错误的情况下对文件运行 BCP。

当我现在使用以下命令运行它时,我得到:“强制转换规范的字符值无效。”

这是我的确切命令语法,我只是更改了密码等:

bcp Temp.dbo.Fund in D:\some_ftp_files\Unzipped\filename_58.bcp
-eD:\Error.txt -w -t"|^|" -r"|!|" -Usomename -Psomepass

任何人都看到我可能做错了什么?

4

1 回答 1

0

我正打算关闭它,但 somoene 可能会发现它很有用,因为我自己错过了显而易见的东西。

-r"|!|" 实际上被设置为行分隔符。不幸的是,文件制作者最后还保留了 \n 的存在。

这更加令人困惑,因为即使您没有指定额外的\n,SQL Server Bulk Import 也能解决这个问题。BCP 和其他批量插入方法要求您实际说出:-r"|!|\n"。因此,如果您像我一样注意到差异,您认为 BCP 调用中有语法错误,或者它没有正确解析。

于 2012-05-19T20:12:19.897 回答