IBM DB2 和 Microsoft SQL Server 数据库对命名对象使用不同的术语,如下表所示,定义表的完全限定的三部分对象标识符。 DRDA 服务可以将 DB2 目录和架构名称映射到 SQL Server 目录和架构名称。
| 平台 | 目录 | 图式 | 表 |
|---|---|---|---|
| DB2 for z/OS | 位置 | 集合(又名所有者) | 表名称 |
| IBM i 上的 DB2 | 关系数据库名称 (RDBNAM) | 集合(又名库) | TABLENAME |
| DB2 for LUW | 数据库 | 图式 | TABLENAME |
| SQL Server | 数据库 | 图式 | 表名 |
| DRDA(分布式关系数据库架构) | 关系数据库名称 (RDBNAM) | 收藏 | TABLENAME |
表。 三部分表格命名约定。
databaseAliases 元素指示 DRDA 服务将入站目录和架构名称映射为出站目录和架构名称,从而在将 DB2 命令映射到 SQL Server 存储过程时用于执行静态 SQL 包。 databaseAlias 元素包含 sourceLocation、sourceCollection、targetDatabase 和 targetSchema,用于定义一个或多个可选对象名称映射。
注释
绑定包或执行动态 SQL 语句时不使用 databaseAliases 元素。
源位置
sourceLocation 属性定义了在映射到出站 SQL Server 数据库名称时,DRDA 服务应使用的入站 DRDA RDBNAM(关系数据库名称)。 此 可选 属性接受 字符串 值。 默认值为 空字符串,表示任何值。
注释
将 DB2 for z/OS 连接到 DRDA 服务时,sourceLocation 值可能是 DB2 for z/OS 连接数据库(CDB)表 SYSIBM.LOCATIONS 中的数据库别名(DBALIAS)值。
源集合
sourceCollection 属性定义一个入站的 DRDA COLID (集合标识符),DRDA 服务在映射到出站的 SQL Server 架构名称时应使用该标识符。 此 可选 属性接受 字符串 值。 默认值为 空字符串,表示任何值。
目标数据库
targetDatabase 属性定义了从入站 DRDA RDBNAM 值进行映射时,DRDA 服务应使用的出站 SQL Server 数据库名称。 此 可选 属性接受 字符串 值。 默认值为 空字符串,表示任何值。
目标架构
targetSchema 属性定义了一个出站 SQL Server 架构名称,DRDA 服务在从入站 DRDA COLID 值映射时应使用该名称。 此 可选 属性接受 字符串 值。 默认值为 空字符串,表示任何值。
例: DRDA 服务可以将 DB2 位置名称(例如 CONTOSO)映射到 SQL Server 数据库名称(例如 ContosoRetailDW),将 DB2 集合名称(例如 PROD1)映射到 SQL Server 数据库架构名称(例如 dbo)。
<databaseAliases>
<databaseAlias sourceLocation="CONTOSO"
sourceCollection="DSN8HC91"
targetDatabase="ContosoRetailDW"
targetSchema="DSN8910" />
<databaseAlias sourceLocation="NWIND"
sourceCollection="DSN8HC91"
targetDatabase="Northwind"
targetSchema="DSN8910" />
</databaseAliases>
例。 DRDA 服务可以将 DB2 目录和架构名称映射到 SQL Server 名称。
DrdaAs Information: 1 : [<timestamp>] Processing ACCRDB
DrdaAs Information: 1 : [<timestamp>] Processing ACCRDB RDBNAME="ContosoRetailDW"
...
DrdaAs Information: 0 : [<timestamp>] Transformed:
SELECT * FROM CONTOSO.DSN8HC91.FACTSALES FOR FETCH ONLY
SELECT * FROM ContosoRetailDW.DSN8910.FACTSALES FOR FETCH ONLY
DRDA ACCRDB 连接和 EXCSQLSTT 命令的 DRDA 服务跟踪输出。