UFdC.Execute " SELECT * INTO KF_Pro FROM OPENDATASOURCE ('SQLOLEDB.1', " _
      & " 'DATA SOURCE=" & slM & ";USER ID=SA;PASSWORD=' ).VCANSN_DB.DBO. PRODUCT  WHERE ID NOT IN(SELECT ID FROM KF_PRODUCT)  " _
      & " ORDER BY dDate,ID "这段代码是要将SQL2000的数据插入到SQL2005中的表KF_Pro,可是出现提示:链接服务器'NULL' 的 OLE DB 访问接口 SQLNCLI 返回了消息:未指定的错误.以前两个数据库都是2000就没有问题,麻烦看看是什么问题啊

解决方案 »

  1.   

    你可以使用SQL管理器在2005中导入2000的纪录,最后选择生成SQL就可以看到了.
      

  2.   

    谢谢你,不过这段代码是我的程序需要,这段代码是必须的,但就是不知道正确的应该怎么写。以前如果两边都是SQL SERVER 2000的话就没有这个问题
      

  3.   

    SQL Server 2000
    Microsoft OLE DB Provider for SQL Server
    "Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"SQL Server 2005
    SQL Native Client 9.0 OLE DB provider
    "Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Uid=myUsername; Pwd=myPassword;"驱动不一样,连接串也不一样。
      

  4.   

    超级感谢TIGER,虽然还没有最终解决,但已经让我看到胜利的曙光了,哈哈……
    我现在已经在你的指引下将代码改成: UFdC.Execute " SELECT * INTO KF_Pro FROM OPENDATASOURCE ('SQLNCLI', " _
          & " 'SERVER=" & slM & ";UID=SA;Pwd=' ).VCANSN_DB.DBO. PRODUCT" 
    为什么还是一样的提示呢?不好意思,我是个大菜鸟,还望多多和我废话,嘿嘿
      

  5.   

    你用 2000 的查询分析器可以访问 2005 吗?通常向下兼容是指反过来访问的。还有参考一下这个
    http://blog.csdn.net/ljsql/article/details/2737070
      

  6.   

    好复杂,明天到客户那里再试试,Tiger,谢谢你。不行再麻烦你哦
      

  7.   

    Openrowset('SQLOLEDB','服务器名称或IP地址';'用户';'密码',表名称)
    仅供参考.