首先介绍几个名词:

ODBC

ODBC(Open Database Connectivity,开放数据库互连)是微软于1992年发布的提供一套标准API来访问数据库系统。这些API通过SQL完成任务,其本身也提供对SQL的支持,用户可以直接将SQL送给ODBC执行。

ODBC Driver

ODBC只是一套API接口,而ODBC Driver是对这些Api的实现。各个数据库可以有针对ODBC的Driver

OLEDB

OLEDB也是有微软发布的一套标准API。允许访问来自各种不同的数据源(不限于数据库,比如Excel也可以)。API是以COM的形式提供。OLEDB设计的初衷是为了扩展与取代ODBC。

OLEDB Provider

提供OLEDB接口供调用者访问数据的应用或软件模块成为OLEDB Provider。

然后介绍一个工具:ODBC Data Source Administrator

在SQL Server中添加PostgreSQL为linked server

 

这个工具是Windows对ODBC Driver和ODBC Data Source进行管理的工具。在安装了相关数据库的ODBC Driver后,Driver的信息会再Driver列表中。

Data Source Name 是指对需要操作的数据源的定义(服务器地址,端口,数据库名等),简称为DSN(Data Source Name)。定义好后需要访问数据源的时候只需用数据源的名称表示即可。

在SQL Server中添加PostgreSQL为linked server

 根据DSN的有效范围,DSN可以分为User DSN和System DSN。

有了如上的知识储备后,就不难理解如何在SQL Server中创建PostgreSQL的Link Server了。

第一步,我们需要在SQL Server所在的服务器上下载并安装PostgreSQL 的ODBC Driver。这样就具备了通过ODBC接口访问PostgreSQL的能力了。安装完后PostgreSQL Driver会出现在Data Source Administrator的Driver列表中。

第二步,为需要访问的PostgreSQL数据库创建一个DSN。如上图。

第三步,在SQL Server SSMS中创建一个Link Server。

在SQL Server中添加PostgreSQL为linked server

 

第四步,填写Linked Server的信息

在SQL Server中添加PostgreSQL为linked server

 

Provider: 选择 OLEDB Provider for ODBC Driver
Product Name: Data Source的名字,这里填写DSN的名字
Data Source: DSN的名字
Provider String: 这里是填写ODBC连接字符串,可以填写基于DSN或者不急于DSN的连接字符串。(https://docs.microsoft.com/en-us/sql/ado/guide/appendixes/microsoft-ole-db-provider-for-odbc?view=sql-server-ver15)

基于DSN:DSN=name; UID=user; PWD=password

不基于DSN:DRIVER=PostgreSQL 64-bit ODBC Drivers; SERVER=server; DATABASE=database; UID=MyUserID; PWD=MyPassword

第五步,填写Sql Server登录用户与PostgreSQL登录用户的映射。这里就将所有SqlServer用户映射到一个PostgreSQL用户上。

在SQL Server中添加PostgreSQL为linked server

保存后Linked Server就创建好了。

接下来就可以对Linked Server的数据进行查询了。查询的时候只需要将Linked Server的名字带上就可以了。例如:

SELECT * FROM [linked server name].[database name].[schema name].[table name] 

 

相关文章:

  • 2021-07-25
  • 2021-12-31
  • 2021-12-05
  • 2021-12-08
  • 2021-11-23
  • 2022-01-29
  • 2021-09-01
猜你喜欢
  • 2022-12-23
  • 2022-01-10
  • 2021-06-20
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2022-01-31
相关资源
相似解决方案