我的程序需要将SQL 2000的数据导入到SQL 2005中,我采用了如下方式:Insert into Employees
select * from 
OpenDatasource
(
'SQLOLEDB','Data Source=server1;User ID=sa;Password=sa'
 ).myDB.dbo.employee 非常奇怪的是,原来的导入是正常的,我现在换了一台机器,重新执行发现中文字符全是乱码.我直接在查询分析器中执行
select * from 
OpenDatasource
(
'SQLOLEDB','Data Source=server1;User ID=sa;Password=sa'
 ).myDB.dbo.employee 
显示的也是乱码.我的两个数据库服务器全是英文操作系统,英文DB.如何解决?

解决方案 »

  1.   

    非常奇怪的是,原来的导入是正常的,我现在换了一台机器,重新执行发现中文字符全是乱码.我直接在查询分析器中执行?
    查看一下SQL的排序规则,表的排序规则
      

  2.   

    如果說查詢時就是亂碼,那麼不是目標數據表nvarchar數據類型的問題
      

  3.   

    是的,查询的时候就是乱码.直接在SQL 2000的查询分析器中查就没问题.
    考虑过排序规则的影响,但原来那台是没问题的,现在新的机器却出现问题,不知何故.