SQL server 创建DB Link 详解

打印 上一主题 下一主题

主题 1578|帖子 1578|积分 4734

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在日常工作中,常常涉及到跨库操作,为使跨数据库的操作变得更加灵活高效,我们可以在 SQL Server 中建立数据库链接( DB Link),实现 SQL Server 数据库与其他数据库(如 Oracle, MySQL 等)的连接,以便举行数据查询、插入、更新等操作。
什么是链接服务器(Linked Server)?
链接服务器是 SQL Server 提供的一项功能,允许用户从 SQL Server 实例中访问其他 SQL Server 或非 SQL Server 数据源(如 Oracle、MySQL 等)。通过链接服务器,用户可以实行跨数据库查询,实现数据共享。
在本文中,我们将探讨怎样为 SQL Server 创建一个 DB Link,并提供相应的代码示例。
数据库链接的建立步调

1. 安装须要的驱动程序

在建立链接之前,确保 SQL Server 安装了与目标数据库相连接所需的 OLE DB 驱动程序。例如,如果要连接 Oracle 数据库,需安装 Oracle OLE DB Provider。如果是 MySQL,则需安装 MySQL ODBC Driver。
2. 创建 Linked Server

2.1 通过 SQL Server Management Studio (SSMS) 创建 Linked Server
步调如下:


  • 打开 SSMS,连接到目标 SQL Server 实例。
  • 在对象资源管理器中,找到 “服务器对象”。
  • 右键点击 “链接服务器”,选择 “新建链接服务器”。

2.2 通过T-SQL创建 Linked Server
  1. EXEC sp_addlinkedserver
  2.     @server='REMOTE_SERVER',
  3.     @srvproduct='',
  4.     @provider='SQLNCLI',
  5.     @datasrc='remote_data_source';
  6. EXEC sp_addlinkedsrvlogin
  7.     @rmtsrvname='REMOTE_SERVER',
  8.     @useself='false',
  9.     @rmtuser='remote_username',
  10.     @rmtpassword='remote_password';
复制代码
  REMOTE_SERVER :定义新的 Linked Server 名称,既将要连接的服务器名称
remote_data_source: 数据源的地址
remote_username:目标数据库用户
remote_password:目标数据库用户暗码
  举例如下,在SQL Server数据库实行:
  1. EXEC sp_addlinkedserver
  2.     @server='SOURCEDB',
  3.     @srvproduct='',
  4.     @provider='SQLNCLI',
  5.     @datasrc='10.192.128.10';
  6. EXEC sp_addlinkedsrvlogin
  7.     @rmtsrvname='SOURCEDB',
  8.     @useself='false',
  9.     @rmtuser='testuser',
  10.     @rmtpassword='testuser';
复制代码
3. 查询外部数据

创建链接服务器后,可以直接使用四部分名称形式举行查询:
  1. SELECT * FROM OPENQUERY(REMOTE_SERVER, 'SELECT * FROM remote_table');
复制代码
举例如下,查询远端目标数据库ABLE1的全部数据:
  1. SELECT * FROM OPENQUERY(SOURCEDB, 'SELECT * FROM TABLE1');
复制代码

参考:
https://blog.51cto.com/u_16213340/12531593
https://blog.51cto.com/u_16213372/12240219

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表