64位SQL 2008 链接32位SQL 2000 服务器问题(一)

 
中间平台从2000升级到2008后,重新创建链接服务器

  创建链接服务器成功,且能看列表中能看到数据对象

  但是分析相关语句都报如下错误:

链接服务器"10.99.20.200"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "Unspecified error"。
链接服务器"10.99.20.200"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator."。
消息 7311,级别 16,状态 2,第 1 行
无法获取链接服务器 "10.99.20.200" 的 OLE DB 访问接口 "SQLNCLI10" 的架构行集 "DBSCHEMA_TABLES_INFO"。该访问接口支持该接口,但使用该接口时返回了失败代码。
10.99.20.200服务器的版本是

Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)   May  3 2005 23:18:38   Copyright (c) 1988-2003 Microsoft Corporation  Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

103的版本是

Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64)   Mar 29 2009 10:11:52   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

将宿主服务器换成以下86版本就不会报以上错误

Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)   Nov 24 2008 13:01:59   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

应该是服务器版本问题(Intel X86) 是32位(详见下文微软文档)。

解决办法:
在sql2000上:
执行:安装盘\SQL2KSP4\install\instcat.sql

运行\cmd 

osql -E -S -i \instcat.sql

拒绝访问

osql -E -S erpsql2 -i E:\SQL2KSP4_EN\install\instcat.sql

ok

你可能感兴趣的:(64位SQL 2008 链接32位SQL 2000 服务器问题(一))