将sql2000数据插入到SQL2005的问题UFdC.Execute SELECT * INTO KF_Pro FROM OPENDATASOURCE (SQLOLEDB.
将sql2000数据插入到SQL2005的问题
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就没有问题,麻烦看看是什么问题啊
[最优解释]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;"
驱动不一样,连接串也不一样。
[其他解释]你可以使用SQL管理器在2005中导入2000的纪录,最后选择生成SQL就可以看到了.
[其他解释]Openrowset('SQLOLEDB','服务器名称或IP地址';'用户';'密码',表名称)
仅供参考.
[其他解释]谢谢你,不过这段代码是我的程序需要,这段代码是必须的,但就是不知道正确的应该怎么写。以前如果两边都是SQL SERVER 2000的话就没有这个问题
[其他解释]超级感谢TIGER,虽然还没有最终解决,但已经让我看到胜利的曙光了,哈哈……
我现在已经在你的指引下将代码改成:
UFdC.Execute " SELECT * INTO KF_Pro FROM OPENDATASOURCE ('SQLNCLI', " _
& " 'SERVER=" & slM & ";UID=SA;Pwd=' ).VCANSN_DB.DBO. PRODUCT"
为什么还是一样的提示呢?
不好意思,我是个大菜鸟,还望多多和我废话,嘿嘿
[其他解释]你用 2000 的查询分析器可以访问 2005 吗?通常向下兼容是指反过来访问的。
还有参考一下这个
http://blog.csdn.net/ljsql/article/details/2737070
[其他解释]好复杂,明天到客户那里再试试,Tiger,谢谢你。不行再麻烦你哦