Sql server 使用“þ”作为字段分隔符时,如何使Sql Server大容量插入正常工作?

Sql server 使用“þ”作为字段分隔符时,如何使Sql Server大容量插入正常工作?,sql-server,bulkinsert,Sql Server,Bulkinsert,对sql server 2005执行以下语句失败 BULK INSERT aTest FROM 'G:/aTest.txt' WITH (FIELDTERMINATOR='þ',ROWTERMINATOR='\n'); 错误是这样的 Msg 4832,16级,状态1,第10行 大容量加载:在数据文件中遇到意外的文件结尾 如果我将FIELDTERMINATOR更改为逗号,并将数据文件更改为逗号,它将按预期工作 这是我的数据文件aTest.txt: 1þfirst 2þtwo 我的具体问题的答案

对sql server 2005执行以下语句失败

BULK INSERT aTest FROM 'G:/aTest.txt' WITH (FIELDTERMINATOR='þ',ROWTERMINATOR='\n');
错误是这样的

Msg 4832,16级,状态1,第10行 大容量加载:在数据文件中遇到意外的文件结尾

如果我将FIELDTERMINATOR更改为逗号,并将数据文件更改为逗号,它将按预期工作

这是我的数据文件aTest.txt:

1þfirst
2þtwo

我的具体问题的答案是确保数据文件是ascii编码的,因为我想使用“þ”作为字段终止符。我的数据文件碰巧是utf-8编码的,这导致终止符被忽略。

复制您的aTest.txt并将其粘贴到记事本中。使用您提供的BULK INSERT语句,它对我有效,没有任何错误。也许您的文件中有某种隐藏字符?与@Kevin相同的测试,相同的结果?将FROM子句中的斜杠翻转为反斜杠?@KevinDahl似乎我的数据文件是utf-8编码的。将其更改为ascii解决了该问题。你的评论让我知道了这一点,因为我使用了不同的编辑器,然后改成了记事本。谢谢