SQL Server的链接服务器技术总结(一)

日期: 2009-02-11 作者:摆渡空间 来源:TechTarget中国 英文

  一、使用Microsoft OLE DB Provider For ODBC链接MySQL

  安装MySQL的ODBC驱动MyODBC

  1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN

  2、建立链接数据库

  

sp_addlinkedserver @server = ‘MySQLTest’, @srvproduct=’MySQL’, @provider = ‘MSDASQL’, @datasrc = ‘myDSN’
  GO
  EXEC 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’, ‘服务名’
  GO
  EXEC 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:datadistqry’,NULL,’Text’
  GO
  –Set up login mappings.
  EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL
  GO
  –List the tables in the linked server.
  EXEC sp_tables_ex txtsrv
  GO
  –Query one of the tables: file1#txt
  –链接服务器名.数据库名.用户名.表(或视图) 四部分名称查询
  SELECT * FROM txtsrv…[file1#txt]

  四、链接SQL Server服务器:

  1、使用ODBC的Microsoft OLE DB提供程序


 EXEC sp_addlinkedserver ‘别名’,”,’MSDASQL’,NULL,NULL,’DRIVER={SQL Server}; SERVER=远程名; UID=用户; PWD=密码; ‘
  go
  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=’密码’

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐