共计 4541 个字符,预计需要花费 12 分钟才能阅读完成。
今天就跟大家聊聊有关 SQL Server 中怎么链接服务器,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1、为 MySQL 建立一个 ODBC 系统数据源,例如:选择数据库为 test , 数据源名称为
myDSN
2、建立链接数据库
EXEC sp_addlinkedserver @server = MySQLTest , @srvproduct= MySQL , @provider = MSDASQL , @datasrc = myDSN GOEXEC sp_addlinkedsrvlogin @rmtsrvname= MySqlTest ,@useself= false ,@locallogin= sa ,@rmtuser= mysql 的用户名 ,@rmtpassword= mysql 的密码
3、查询数据
SELECT * FROM OPENQUERY (MySQLTest , select * from 表)
下面这个不行:SELECT * FROM OPENQUERY (MySQLTest , 表)
注意:不能直接用 select * from 链接服务器名. 数据库名. 用户名. 表 (或视图)
四部分名称查询数据,可能是个 Bug.
二、使用 Microsoft OLE DB Provider For ORACLE 链接 ORACLE
1、建立链接数据库
sp_addlinkedserver 别名 , Oracle , MSDAORA , 服务名 GOEXEC sp_addlinkedsrvlogin @rmtsrvname= 别名 ,@useself= false ,@locallogin= sa ,@rmtuser= oracle 用户名 ,@rmtpassword= 密码
2、查询数据
SELECT * FROM 别名.. 用户名. 表 (视图)
注意:四部分名称全部用大写
3、执行存储过程
使用 OPENQUERY:SELECT *FROM OPENQUERY(别名, exec 用户名. 存储过程名)
三、设置链接服务器以访问格式化文本文件
用于 Jet 的 Microsoft OLE DB 提供程序可用于访问并查询文本文件。
若要直接创建访问文本文件的链接服务器而不将文件链接为 Access .mdb 文件中
的表,请执行 sp_addlinkedserver,如下例所示。提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串为 Text。数据源是包
含文本文件的目录的完整路径名称。schema.ini 文件(描述文本文件的结构)必
须与此文本文件存在于相同的目录中。有关创建 schema.ini 文件的更多信息,
请参见 Jet 数据库引擎文档。
–Create a linked server.EXEC sp_addlinkedserver txtsrv, Jet 4.0 , Microsoft.Jet.OLEDB.4.0 , c:/data/distqry ,NULL, Text GO
–Set up login mappings.EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULLGO
–List the tables in the linked server.EXEC sp_tables_ex txtsrvGO
–Query one of the tables: file1#txt–using a 4-part name. SELECT * FROM txtsrv…[file1#txt]
四、链接 SQL Server 服务器:
1、使用 ODBC 的 Microsoft OLE DB 提供程序
EXEC sp_addlinkedserver 别名 , , MSDASQL ,NULL,NULL, DRIVER={SQL
Server};SERVER= 远程名;UID= 用户;PWD= 密码; 如果加上参数 @catalog,可以指定数据库 exec sp_addlinkedsrvlogin @rmtsrvname= 别名 ,@useself= false ,@locallogin= sa ,@rmtuser= sa ,@rmtpassword= 密码
2、使用 SQL Server 的 Microsoft OLE DB 提供程序
exec sp_addlinkedserver @server= 别名 ,@provider= sqloledb ,@srvproduct= ,@datasrc= 远程服务器名 exec sp_addlinkedsrvlogin @rmtsrvname= wzb ,@useself= false ,@locallogin= sa ,@rmtuser= sa ,@rmtpassword= 密码
然后你就可以如下:
select * from 别名. 库名.dbo. 表名 insert 库名.dbo. 表名 select * from 别名. 库名.dbo. 表名 select * into 库名.dbo. 新表名 from 别名. 库名.dbo. 表名 go
例 1、
此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。
EXEC sp_addlinkedserver @server= S1_instance1 , @srvproduct= , @provider= SQLOLEDB , @datasrc= S1/instance1
例 2、
– 建立链接服务器
EXEC sp_addlinkedserver xiaoming , , MSDASQL ,NULL,NULL, DRIVER={SQL
Server};SERVER=192.168.0.1;UID=sa;PWD=123; – 建立链接服务器登录映射 exec sp_addlinkedsrvlogin @rmtsrvname= xiaoming ,@useself= false ,@locallogin= sa ,@rmtuser= sa ,@rmtpassword= 123 go– 查询数据 select * from xiaoming.schooladmin.dbo.agent
– 删除链接服务器登录映射和链接服务器:exec sp_droplinkedsrvlogin xiaoming , sa exec sp_dropserver xiaoming
注意事项:
SET IDENTITY_INSERT [database.[ owner.] ] {table} {ON | OFF} 所以不能通过连接服务器设置此属性 into 也存在这样的问题 select * into xiaoming.northwind.dbo.tt from
xiaoming.northwind.dbo.tt
五、设置链接服务器以访问 Access 数据库
使用用于 Jet 的 Microsoft OLE DB 提供程序此示例创建一台名为 test 的链接服务器。
说明 本示例假设已经安装 Microsoft Access 和示例 Northwind 数据库,且
Northwind 数据库驻留在 C:/。
USE masterGO– To use named parameters:EXEC sp_addlinkedserver @server = test , @provider = Microsoft.Jet.OLEDB.4.0 , @srvproduct = OLE DB Provider for Jet , @datasrc = C:/Northwind.mdb GO– OR to use no named parameters:USE masterGOEXEC sp_addlinkedserver test , OLE DB Provider for Jet , Microsoft.Jet.OLEDB.4.0 , C:/Northwind.mdb GO 使用 select * from test… 表名
六、连接 SYBASE– 首先, 你要在 SQL 服务器上装上访问 sybase 的客户端
– 创建链接服务器 exec sp_addlinkedserver Sybase1 , , MSDASQL , NULL, NULL, Driver={Sybase System
11};Database=hisdb;Srvr=10.211.135.12;UID=sa;PWD=1111; 使用:select * from Sybase1.hisdb.dbo.table1
方法二使用 ODBCSQL Server 到 SYBASE 连接服务器的实现 作者: CCBZZP
本文的测试环境为: 操作系统: WINDOWS2000 SERVER (繁体系统) 安装数据库: SQLSERVER2000(英文版) 和 SYBASE8.0 客户端 (英文版)
具体实现步骤: 1. 要求 pc 机上安装 SYBASE8.0 客户端软件和 sqlserver2000 软件。2. 配置 windows 的 ODBC 数据源:开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用
户 DSN 或者系统 DSN 均可以:添加—》选择 ADAPTIVE SERVER ANYWHERE8.0—》自定
义数据源名称(随意如: SYBASETEST)—》数据库名称(必选!)—》OK 完成。
3. 选择刚才配置的数据源名称, 再选择 配置, 跳出 SYBASETEST MESSAGES:
The data source is not connected. Connecting to the data source will
provide useful information during configuration. Would you like to
connect to the data source?
选择 YES(OK 或确认) 即可
进入 CONNECT TO SYBASE DATABASE 画面:
USER ID: 输入 SYBASE DATABASE 的用户
PASSWORD: 输入 SYBASE DATABASE 的用户的密码
CONNECTION MODE: 可以选择默认的 SHARE 模式
选择 OK(确认) 即可!
配置和测试 ODBC 完成!
4. 配置 sqlserver2000 中的连接服务器:企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名
称;选其他数据源;指定程序名称为:SYBASE ADAPTIVE SERVER ANYWHERE
PROVIDER8.0; 产品名称可不填;数据源指定刚才 ODBC 中定义好的数据源名称;
提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者
按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连
接的 SYBASE 数据库中的用户名和密码 —》安全性标签页里:设置用此安全上下
文进行,并录入 SYBASE 的数据库用户名和密码—》服务器选项标签页可默认—》
确定。5. 准备工作全部完成!在 sqlserver 企业管理器—》安全性—》连接服务器打开刚
建好的连接服务器—》点击表,即可在右边窗口看到该 SYBASE 数据库用户拥有的
的所有表名,但在这里还并不能查看表的记录,这个需要在 sqserver 的查询分析
器中用具体 sql 实现!访问表时,使用格式为:[连接服务器名]..[SYBASE 用户
].[表名]。更详细具体的使用这里不再赘述。
看完上述内容,你们对 SQL Server 中怎么链接服务器有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。