sql server 2012 链接服务器不能链接sql server 2000的解决方案 ,

本数据源来自 https://www.kafan.cn/edu/922556.html  目的为了备忘

 

把原来的sql server 2005直接装成了2012,然后在建立链接服务器链接一台sql server 2000的服务器时,报错信息大概是“sql server native client 11.0 不支持链接sql server 2000 及更早版本”,但是在sql server2012中连接其他sql server数据库时可以使用以下代码:

exec sp_addlinkedserver ‘itsv’, ”, ‘sqloledb’, ‘serverip’
exec sp_addlinkedsrvlogin ‘itsv’, ‘false ‘,null, ‘sa’, ‘password’

但是在sql server2000时的建立连接成功,但是在使用时会出现以下错误提示:“访问接口msdasql 返回了消息 odbc驱动程序管理器未发现数据源名称并且未指定默认” 

根据提示并查阅微软 sql server native client 的支持策略 可知,sql server2012默认自带的是native client 11.0,并且不再对sql server 2000或更早的版本支持。我们可以通过下载并安装native client10.5 或者native client10,并在连接时指定驱动解决。

sql server native client 10 下载  后面附下载地址

 

安装完成后使用以下代码进行连接。

exec sp_addlinkedserver
@server=’itsv’, –‘itsv’链接服务器名称
@srvproduct = ‘sqlserver’,
@provider = ‘msdasql’,
@datasrc = null,
@location = null,
@provstr = ‘driver={sql server native client 10.0};server=serverip;’,  –serverip 需要链接服务器地址
@catalog = null
go
exec sp_addlinkedsrvlogin
@rmtsrvname=’itsv’,  –‘itsv’链接服务器名称 同上一步
@useself=’false’,
@rmtuser=’sa’,–‘sa’用户名
@rmtpassword=’password’; –‘password’  密码
go

以上代码中指定使用native client 10.0为驱动,使用方式完全与本地相同。
sql server native client 11.0 支持与 sql server 2005、sql server 2008、sql server 2008 r2、sql server 2012 和 windows azure sql database 的连接。
支持的操作系统版本
下表列出了支持 sql server native client 的操作系统。
sql server native client 版本
支持的操作系统
sql server native client (sql server 2005)
microsoft windows 2000 service pack 4 或更高版本
microsoft windows server 2003 或更高版本
microsoft windows xp service pack 1 或更高版本
microsoft windows vista(需要 sql server service pack 2 或更高版本)
microsoft windows server 2008(需要 sql server service pack 2 或更高版本)
sql server native client 10.0 (sql server 2008)
microsoft windows server 2003 service pack 2 或更高版本
microsoft windows xp service pack 2 或更高版本
microsoft windows vista
microsoft windows server 2008
sql server native client 10.5 (sql server 2008 r2)
microsoft windows server 2003 service pack 2 或更高版本
microsoft windows xp service pack 2 或更高版本
microsoft windows vista
microsoft windows server 2008
microsoft windows 7
sql server native client 11.0 (sql server 2012)
microsoft windows vista
microsoft windows server 2008
microsoft windows 7
microsoft windows 8
microsoft windows server 2012

 

在安装 sql server 2008 或 sql server 工具时,将同时安装 microsoft sql server native client 10.0。如果计算机上还安装了 sql server native client 的 sql server 2005 版本,则 sql server native client 10.0 将与早期版本并行安装。

microsoft sql server native client 10.0下载:  。

sql server native client 文件(sqlncli10.dll、sqlnclir10.rll 和 s10ch_sqlncli.chm)将安装到以下位置:

%systemroot%\system32\

注意:

sql server native client ole db 访问接口和 sql server native client odbc 驱动程序的所有相应注册表设置都将在安装过程中完成。

sql server native client 头文件和库文件(sqlncli.h 和 sqlncli10.lib)安装在以下位置:

%programfiles%\microsoft sql server\100\sdk

除了作为 sql server 安装过程的一部分安装 sql server native client 以外,还可以在 sql server 安装磁盘的以下位置找到名为 sqlncli.msi 的可再分发安装程序:

%cd%\setup\

您 可以通过 sqlncli.msi 分发 sql server native client。在您部署某一应用程序时,可能需要安装 sql server native client。安装多个包(对于用户而言就像是一次安装)的一种方法就是使用链接器和引导程序技术。有关详细信息,请参阅 authoring a custom bootstrapper package for visual studio 2005(为 visual studio 2005 创作自定义引导程序包)和添加自定义系统必备。

sqlncli.msi 的 x64 和 itanium 版本也会安装 sql server native client 的 32 位版。如果您的应用程序所针对的目标平台并非其开发时所使用的平台,则可以从 microsoft 下载中心下载针对 x64、itanium 和 x86 的 sqlncli.msi 版本。

在调用 sqlncli.msi 时,默认情况下只会安装客户端组件。这些客户端组件即为那些支持运行使用 sql server native client 开发的应用程序的文件。若还要安装 sdk 组件,请在命令行中指定 addlocal=all。例如:

msiexec /i sqlncli.msi addlocal=all appguid={0cc618ce-f36a-415e-84b4-fb1bff6967e1}

卸载 sql server native client

因 为诸如 sql server 服务器和 sql server 工具之类的应用程序依赖于 sql server native client,所以只有在卸载所有依赖应用程序之后才能卸载 sql server native client。若要向用户提供应用程序依赖于 sql server native client 的警告,请在 msi 中使用 appguid 安装选项,如下所示:

msiexec /i sqlncli.msi appguid={0cc618ce-f36a-415e-84b4-fb1bff6967e1}

传递给 appguid 的值是您的特定产品代码。当使用 microsoft installer 捆绑应用程序安装程序时,必须创建产品代码。                          

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐