本数据源来自 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 捆绑应用程序安装程序时,必须创建产品代码。