11

我想在 SQL Server 中查询一个 DB2 表。是否可以在 SQL Server 中链接 DB2 表?

我没有太多使用 SQL Server 的经验,也找不到太多关于这个主题的文档。任何帮助,将不胜感激!

4

2 回答 2

4

我想在 SQL Server 中查询一个 DB2 表。是否可以在 SQL Server 中链接 DB2 表?

这可以通过涉及链接服务器来实现

创建链接服务器对象的 SQL 示例:

EXEC sp_addlinkedserver
@server = 'WNW3XX',
@srvproduct = 'Microsoft OLE DB Provider for DB2',
@catalog = 'OLYMPIA',
@provider = 'DB2OLEDB',
@provstr='NetLib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Olympia_WNW3XX'

EXEC sp_addlinkedsrvlogin 'WNW3XX', false, NULL, 'WNW3XX', 'WNW3XX'

以及对 DB2 实例上的远程对象的示例查询:

SELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT

答案基于: 使用 Microsoft OLE DB provider for DB2 创建到 DB2 的链接服务器

其他参考:

于 2019-05-17T12:17:45.363 回答
2

从 SQL Server 2019 CTP 2.0 开始,您还可以使用PolyBase

什么是 PolyBase?

PolyBase 使您的 SQL Server 实例能够处理从外部数据源读取数据的 Transact-SQL 查询。SQL Server 2016 及更高版本可以访问 Hadoop 和 Azure Blob 存储中的外部数据。从 SQL Server 2019 CTP 2.0 开始,您现在可以使用 PolyBase 访问 SQL Server、Oracle、Teradata 和 MongoDB 中的外部数据。

访问外部数据的相同查询也可以针对 SQL Server 实例中的关系表。这允许您将来自外部源的数据与数据库中的高价值关系数据相结合。在 SQL Server 中,外部表或外部数据源提供与 Hadoop 的连接。

配置 PolyBase 以访问 Teradata 中的外部数据,例如:

CREATE DATABASE SCOPED CREDENTIAL credential_name 
WITH IDENTITY = 'username', Secret = 'password';

CREATE EXTERNAL DATA SOURCE external_data_source_name
WITH (LOCATION = teradata://<server address>[:<port>],
-- PUSHDOWN = ON | OFF,
CREDENTIAL =credential_name);

CREATE EXTERNAL TABLE ...;

SELECT * FROM external_table_name;

创建外部数据源

位置 = '://'

提供到外部数据源的连接协议和路径。

ODBC odbc [:port] 从 SQL Server 2019 (15.x) 开始 - 仅限 Windows

创建外部表

于 2019-05-17T13:53:15.747 回答