使用UTF-8数据的格式文件进行SQL Server批量导入

时间:2012-02-24 21:50:56

标签: sql-server unicode import bulk

我一直指的是以下页面:

http://msdn.microsoft.com/en-us/library/ms178129.aspx

我只想从具有Unicode字符的文件中批量导入一些数据。我已经尝试在UC-2,UTF-8等中编码实际数据文件,但没有任何作用。我还修改了格式文件以使用SQLNCHAR,但它仍然不起作用并给出错误:

  

第1行第1列的批量加载数据转换错误(截断)

我认为这与上述链接中的声明有关:

  

对于使用Unicode字符数据文件的格式文件,所有   输入字段必须是Unicode文本字符串(即固定大小   或字符终止的Unicode字符串)。

这究竟是什么意思?我认为这意味着每个字符串需要一个固定的2个字节,在UCS-2中编码文件应该处理???

2 个答案:

答案 0 :(得分:6)

这篇博客文章非常有用,解决了我的问题:

http://blogs.msdn.com/b/joaol/archive/2008/11/27/bulk-insert-using-unicode-data-files.aspx

需要注意的其他事项 - Java类正在生成数据文件。为了使上述解决方案有效,数据文件需要以 UTF-16LE 进行编码,可以在OutputStreamWriter的构造函数中设置(例如)。

答案 1 :(得分:0)

在SQL Server 2012中,我使用带有特殊西班牙语字符的UCS-2中的Notepad ++导入保存的.csv文件