我有一个文本文件,是UTF8格式的,现在需要用:
bulk insert test from 'D:\080918.txt' 
with( DATAFILETYPE = 'widechar', 
      FIELDTERMINATOR =',',
      BATCHSIZE =2000
)后,发现导入的数据全部为乱码,test表所有字段是NVARCHAR类型的.我发现问题是080918.txt' 的文件编码格式有关系,为UTF8格式,如果另存为UNICODE的话就没有问题.由于这个过程我是准备定为JOB的,请问有没有什么办法能自动的将UFT8的文本文件转为UNICODE,或者BULK INSERT 带什么
参数能自动转呢?

解决方案 »

  1.   

    从BULK INSERT参数的说明来看, 应该不支持UTF8
      

  2.   

    除了 char、varchar 和 text 列以外,列中的数据均被存储为 Unicode
      

  3.   

    是的,我也查过,不行.有没有什么操作系统命令,可以将调用文件的另存为,将UTF8存为UNICODE格式呢?
      

  4.   


    是的,我的表字段多是NVARCHAR类型.但是存进去就是乱码.
      

  5.   

    可以考虑用DTS(或者SSIS, sql 2005)包来做, 这个是支持的
      

  6.   

    DTS,我刚才也看了一下,您的意思是TXT-->TABLE,建个包?
    在文本文件属性里有个"文件类型",选择UNICODE也是乱码啊
      

  7.   

    没有代码页可选吗? SSIS 里面可以先 UTF8 的代码页, 结果是正确的
      

  8.   

    SSIS 是不是SQL SERVER 2005里的?SQL SERVER 2000似乎没有。