我有一个映射,我需要能够针对多个源模式(具有相同的结构)运行一次一个模式。鉴于模式的数量,我宁愿不为每个模式设置会话以指定特定的映射连接,因为这将需要在添加新模式时添加新会话。
是否可以通过在运行时定义会话内映射的数据源连接(或作为某种参数传入)的方式设置工作流?
我有一个映射,我需要能够针对多个源模式(具有相同的结构)运行一次一个模式。鉴于模式的数量,我宁愿不为每个模式设置会话以指定特定的映射连接,因为这将需要在添加新模式时添加新会话。
是否可以通过在运行时定义会话内映射的数据源连接(或作为某种参数传入)的方式设置工作流?
$DBConnection
前缀的变量名称(例如$DBConnectionSource01
)。在适当的位置创建一个参数文件,内容如下:
[Global]
$DBConnectionSource01=connection_name
我相信您正在寻找的内容将使用参数文件和一些 shell 脚本来解决(假设您的服务器具有某种 Unix 风格)。
设置您的工作流程以使用参数文件运行。在参数文件全局部分中为数据库连接声明一个特殊参数(以 $DBConnection 开头)。更改会话属性以使用该参数。
您需要为每个源数据库/模式创建适当的关系连接对象。
现在,编写一些 shell 程序来动态更改该参数文件,并将参数文件中的参数值替换为您想要的新值。
运行时的典型事件序列应如下所示 -
每当您想为不同的源运行该工作流/会话/映射时,使用适当的参数启动脚本以影响 Informatica 参数文件中的更改。
运行 Shell 脚本以启动给定数据库源的作业。脚本运行应更改参数文件中的 $DBConnection 参数
使用参数文件通过 pmcmd 启动工作流。