如何创建DBLink 连接sql server 2005 和2000
发布网友
发布时间:2022-04-29 15:56
我来回答
共2个回答
热心网友
时间:2022-04-09 14:57
A服务器为64位机器,安装64位SQL Server2005;
B服务器为32位机器,安装32位SQL Server 2003 sp4;
A服务器数据库创建DB link连接B服务器数据,DBlink测试通过。
但是通过A服务器的数据库客户端查询B服务器的数据(select * from Bserver.Btable),就会爆出如下错误:
链接服务器"Bserver"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "Unspecified error"。
链接服务器"Bserver"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "在该服务器上找不到完成该操作所需的存储过程。 请与系统管理员联系。"。
Msg 7311, Level 16, State 2, Line 1
无法获取链接服务器 "Bserver" 的 OLE DB 访问接口 "SQLNCLI" 的架构行集 "DBSCHEMA_TABLES_INFO"。该访问接口支持该接口,但使用该接口时返回了失败代码。
g了一下,终于解决了,这其实是微软的一个bug,因为在sqlserver 2003sp4中有个补丁SQL语句,但是在升级过程中没有自动执行,所以需要我们手动去执行。
该SQL文件位于sqlserver 2003sp4的安装目录下(搜索一下),名字为instcat.sql;
执行方法也有点另类,需要在cmd中执行:osql -E -S BserverName -i <Location>\instcat.sql
执行过程会一直在刷屏,大概需要20s的时间,最后会提示:completed successfully!
【参考】http://support.microsoft.com/?scid=kb%3Bzh-cn%3B906954&x=15&y=5
热心网友
时间:2022-04-09 16:15
A服务器为64位机器,安装64位SQL Server2005; B服务器为32位机器,安装32位SQL Server 2003 sp4; A服务器数据库创建DB link连接B服务器数据