求查找依赖指定目标表的Informatica文件夹与映射名的SQL查询
查找依赖特定数据表的Informatica映射及文件夹SQL查询
以下是针对Informatica PowerCenter元数据库的查询语句,可直接用于查找依赖指定目标表的文件夹名称与映射名称,适配多数主流数据库(Oracle、SQL Server、DB2等):
基础精确匹配查询
适用于明确知晓目标表全称的场景:
SELECT f.FOLDER_NAME AS 文件夹名称, m.MAPPING_NAME AS 映射名称, ti.TARGET_INST_NAME AS 目标实例名, td.TARGET_TABLE_NAME AS 目标表名 FROM REP_FOLDER f JOIN REP_MAPPING m ON f.FOLDER_ID = m.FOLDER_ID JOIN REP_TARGET_INST ti ON m.MAPPING_ID = ti.MAPPING_ID JOIN REP_TARGET_DEF td ON ti.TARGET_DEF_ID = td.TARGET_DEF_ID WHERE td.TARGET_TABLE_NAME = '你的目标表名' -- 替换为实际表名 ORDER BY f.FOLDER_NAME, m.MAPPING_NAME;
模糊匹配查询
如果不确定表名全称(比如带前缀/后缀),可改用模糊匹配:
SELECT f.FOLDER_NAME AS 文件夹名称, m.MAPPING_NAME AS 映射名称, ti.TARGET_INST_NAME AS 目标实例名, td.TARGET_TABLE_NAME AS 目标表名 FROM REP_FOLDER f JOIN REP_MAPPING m ON f.FOLDER_ID = m.FOLDER_ID JOIN REP_TARGET_INST ti ON m.MAPPING_ID = ti.MAPPING_ID JOIN REP_TARGET_DEF td ON ti.TARGET_DEF_ID = td.TARGET_DEF_ID WHERE td.TARGET_TABLE_NAME LIKE '%表名关键词%' -- 替换为关键词 ORDER BY f.FOLDER_NAME, m.MAPPING_NAME;
过滤当前有效版本的映射
如果环境中存在历史版本映射,可加入版本过滤,只返回当前启用的映射:
SELECT f.FOLDER_NAME AS 文件夹名称, m.MAPPING_NAME AS 映射名称, ti.TARGET_INST_NAME AS 目标实例名, td.TARGET_TABLE_NAME AS 目标表名 FROM REP_FOLDER f JOIN REP_MAPPING m ON f.FOLDER_ID = m.FOLDER_ID JOIN REP_VERSION v ON m.MAPPING_ID = v.OBJECT_ID AND v.OBJECT_TYPE = 'MAPPING' JOIN REP_TARGET_INST ti ON m.MAPPING_ID = ti.MAPPING_ID JOIN REP_TARGET_DEF td ON ti.TARGET_DEF_ID = td.TARGET_DEF_ID WHERE td.TARGET_TABLE_NAME = '你的目标表名' AND v.IS_CURRENT_VERSION = 1 ORDER BY f.FOLDER_NAME, m.MAPPING_NAME;
注意事项
- 必须连接到Informatica元数据库(而非业务数据库)执行查询
- 部分环境中元数据库表名可能为大写,需确保SQL中表名与实际一致(比如
rep_folder改为REP_FOLDER) - 如果需要查找以该表为源表的映射,只需将
REP_TARGET_INST、REP_TARGET_DEF替换为REP_SOURCE_INST、REP_SOURCE_DEF - 确保查询账号拥有元数据库相关表的SELECT权限
内容的提问来源于stack exchange,提问作者Pranal
相关产品推荐
相关产品推荐

