sqlserver链接服务器使用方法分类:database2009-03-30 19:05 3737人阅读评论(2) 收藏举报使用sql语句:exec sp_addlinkedserver@server='serverontest',@provider='sqloledb',@srvproduct='',@datasrc='101.123.10.112'添加一个链接服务器使用sql语句:EXEC sp_addlinkedsrvlogin @rmtsrvname = 'serverontest', @useself = 'false', @locallogin = 'sa', @rmtuser = 'sa', @rmtpassword = 'passwordofsa'添加登录方式以上两个语句中,@server为服务器的别名,@datasrc为要链接的目标数据库的连接串,@rmtsrvname为别名,@locallogin为本地登录的用户名,@rmtuser和@rmtpassword为要链接的目标数据库的登录用户名和密码添加完链接服务器之后,可以通过select * from sys.linked_logins 和select * from sys.servers来查看已经添加的链接服务器和登录角色添加完链接服务器后,使用select * from 别名.库名.dbo.表名来对其中的数据进行查询删除链接服务器登录映射和链接服务器的方法:exec sp_droplinkedsrvlogin ’serverontest’,’sa’exec sp_dropserver ’serverontest’上文仅仅是添加到sqlserver的链接服务器的方法,关于添加到其它数据库的链接服务器的方法,参见:[c-sharp]view plaincopy1.一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL2.安装MySQL的ODBC驱动MyODBC3.1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN4.2、建立链接数据库5.EXEC sp_addlinkedserver @server = ’MySQLTest’,@srvproduct=’MySQL’,6.@provider = ’MSDASQL’, @datasrc = ’myDSN’7.GO8.EXEC sp_addlinkedsrvlogin9.@rmtsrvname=’MySqlTest’,@useself=’false’,@locallogin=’sa’,@rmtuser=’mys10.ql的用户名’,@rmtpassword=’mysql的密码’11.3、查询数据12.SELECT * FROM OPENQUERY (MySQLTest ,’select * from 表’ )13.下面这个不行:14.SELECT * FROM OPENQUERY (MySQLTest ,’表’ )15.注意:不能直接用select * from 链接服务器名.数据库名.用户名.表(或视图)16.四部分名称查询数据,可能是个Bug.17.二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE18.1、建立链接数据库19.sp_addlinkedserver ’别名’,’Oracle’,’MSDAORA’,’服务名’20.GO21.EXEC sp_addlinkedsrvlogin @rmtsrvname=’别名’,@useself=’false’,@locallogin=’sa’,@rmtuser=’oracle用户名’,@rmtpassword=’密码’22.2、查询数据23.SELECT * FROM 别名..用户名.表(视图)24.注意:四部分名称全部用大写25.3、执行存储过程26.使用OPENQUERY:27.SELECT *28.FROM OPENQUERY(别名, ’exec用户名.存储过程名’)29.30.三、设置链接服务器以访问格式化文本文件31.用于 Jet 的 Microsoft OLE DB 提供程序可用于访问并查询文本文件。
32.若要直接创建访问文本文件的链接服务器而不将文件链接为 Access .mdb 文件中的表,请行 sp_addlinkedserver,如下例所示。
33.提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串为"Text"。
数据源是包含文本文件的目录的完整路径名称。
schema.ini 文件(描述文本文件的结构)必须与此文本文件存在于相同的目录中。
有关创建 schema.ini 文件的更多信息,请参见 Jet 数据库引擎文档。
34.--Create a linked server.35.EXEC sp_addlinkedserver txtsrv, ’Jet4.0’,36.’Microsoft.Jet.OLEDB.4.0’,37.’c:/data/distqry’,38.NULL,39.’Text’40.GO41.--Set up login mappings.42.EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL43.GO44.--List the tables in the linked server.45.EXEC sp_tables_ex txtsrv46.GO47.--Query one of the tables: file1#txt48.--using a 4-part name.49.SELECT *50.FROM txtsrv...[file1#txt]51.四、链接SQL Server服务器:52.1、使用 ODBC 的 Microsoft OLE DB 提供程序53.EXEC sp_addlinkedserver ’别名’,’’,’MSDASQL’,NULL,NULL,’DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;’54.如果加上参数@catalog,可以指定数据库55.exec sp_addlinkedsrvlogin @rmtsrvname=’别名’,@useself=’false’,@locallogin=’sa’,@rmtuser=’sa’,@rmtpassword=’密码’56.2、使用SQL Server 的 Microsoft OLE DB 提供程序57.exec sp_addlinkedserver @server=’别名’,@provider=’sqloledb’,@srvproduct=’’,@datasrc=’远程服务器名’58.exec sp_addlinkedsrvlogin59.@rmtsrvname=’wzb’,@useself=’false’,@locallogin=’sa’,@rmtuser=’sa’,@rmtp60.assword=’密码’61.然后你就可以如下:62.select * from 别名.库名.dbo.表名63.insert 库名.dbo.表名 select * from 别名.库名.dbo.表名64.select * into 库名.dbo.新表名 from 别名.库名.dbo.表名65.go66.例1、67.此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,68.该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。
EXEC sp_addlinkedserver @server=’S1_instance1’,@srvproduct=’’,@provider=’SQLO LEDB’,@datasrc=’S1/instance1’69.例2、70.--建立链接服务器71.EXEC sp_addlinkedserver ’xiaoming’,’’,’MSDASQL’,NULL,NULL,’DRIVER={SQL72.Server};SERVER=192.168.0.1;UID=sa;PWD=123;’73.--建立链接服务器登录映射74.exec sp_addlinkedsrvlogin75.@rmtsrvname=’xiaoming’,@useself=’false’,@locallogin=’sa’,@rmtuser=’sa’,76.@rmtpas sword=’123’77.go78.--查询数据79.select * from xiaoming.schooladmin.dbo.agent80.--删除链接服务器登录映射和链接服务器:81.exec sp_droplinkedsrvlogin ’xiaoming’,’sa’82.exec sp_dropserver ’xiaoming’83.注意事项:84.SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }85.所以不能通过连接服务器设置此属性86.into 也存在这样的问题87.select * into xiaoming.northwind.dbo.tt from88.xiaoming.northwind.dbo.tt89.五、设置链接服务器以访问Access数据库90.使用用于 Jet 的 Microsoft OLE DB 提供程序91.此示例创建一台名为 test的链接服务器。
92.说明本示例假设已经安装 Microsoft Access 和示例 Northwind 数据库,且93.Northwind 数据库驻留在 C:/。
E master95.GO96.-- To use named parameters:97.EXEC sp_addlinkedserver98.@server = ’test’,99.@provider = ’Microsoft.Jet.OLEDB.4.0’,100.@srvproduct = ’OLE DB Provider for Jet’,101.@datasrc = ’C:/Northwind.mdb’102.GO103.-- OR to use no named parameters:E master105.GO106.EXEC sp_addlinkedserver107.’test’,108.’OLE DB Provider for Jet’,109.’Microsoft.Jet.OLEDB.4.0’,110.’C:/Northwind.mdb’111.GO112.使用113.select * from test...表名114.六、连接SYBASE115.--首先,你要在SQL服务器上装上访问sybase的客户端116.--创建链接服务器117.exec sp_addlinkedserver ’Sybase1’,’’,’MSDASQL’, NULL, NULL 118.,’Driver={Sybase System119.11};Database=hisdb;Srvr=10.211.135.12;UID=sa;PWD=1111;’120.使用:121.select * from Sybase1.hisdb.dbo.table1122.方法二123.使用ODBC124.SQL Server到SYBASE连接服务器的实现125.作者: CCBZZP126.本文的测试环境为:127.操作系统: WINDOWS2000 SERVER (繁体系统)128.安装数据库: SQLSERVER2000(英文版)和SYBASE8.0客户端(英文版)129.具体实现步骤:130. 1.要求pc机上安装SYBASE8.0客户端软件和sqlserver2000软件。