我想在 SQL Server 中查询一个 DB2 表。是否可以在 SQL Server 中链接 DB2 表?
我没有太多使用 SQL Server 的经验,也找不到太多关于这个主题的文档。任何帮助,将不胜感激!
我想在 SQL Server 中查询一个 DB2 表。是否可以在 SQL Server 中链接 DB2 表?
我没有太多使用 SQL Server 的经验,也找不到太多关于这个主题的文档。任何帮助,将不胜感激!
我想在 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 的链接服务器
其他参考:
从 SQL Server 2019 CTP 2.0 开始,您还可以使用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