【发布时间】:2014-12-08 07:15:45
【问题描述】:
我在 MSSQL 中使用 BCP 将平面文件数据导入表中。文件具有换行符 (0A) 作为行分隔符。
我正在使用以下 bcp 查询导入文件
bcp dbo.BCPTest 在 O:\BCPTest\test.txt -c -t| -r 0x0A -T -h TABLOCK
BCP 无法正确识别换行符并错误地导入文件。我是否正确给出了记录分隔符。请帮我解决这个问题。
【问题讨论】:
-
如果您尝试使用默认值 (\n) 会发生什么?您确定您的换行符实际上是换行符吗?尝试创建一个较小的测试文件并使用它。您是否也尝试过使用格式文件?
-
@Allan S. Hansan 如果我使用默认 \n,BCP 查询只会从 1000 条记录中获取 184 条记录。
-
在 Notepad++ 等编辑器中打开文件并显示所有字符并检查行尾的字符是否确实是
LF字符 -
@Jaques:如果我们在十六进制模式下看到记录分隔符仅是换行符,即 0A,我已经检查过文件
-
尝试删除 -r 和 0x0A 之间的空格
标签: sql-server