配置数据库别名映射

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 元素包含 sourceLocationsourceCollectiontargetDatabasetargetSchema,用于定义一个或多个可选对象名称映射。

注释

绑定包或执行动态 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 服务跟踪输出。