如何在 Carte 上的 Pentaho Kettle Job 运行 中使用变量作为数据库日志连接名称?

How to use variable for database Log Connection name in Pentaho Kettle Job running on Carte?

我想参数化要使用的(预定义和参数化的)日志数据库连接,例如data.import.log.db=LOG_DB:

但我无法使用作业参数 data.import.log.db 或在调用父作业中设置变量 data.import.log.db

我看到的唯一方法是在 kettle.properties 中设置变量,或者从命令行设置为变量。但是如果作业在 Carte 中执行,我希望调用者决定使用哪个日志连接——有时调用者决定根本不记录(空变量)。我是否遗漏了有关如何将此变量移交给作业日志连接的内容?

在此先感谢您的建设性提示和解释。

-- 编辑:使用 PDI CE 8.0.0-28。

您不能参数化连接名称。

您可以参数化它的属性(例如主机、端口、用户名和密码),但不能参数化连接名称本身。

恐怕你不能。日志参数在流程的早期定义,远在 job/transfo 的变量被读取之前。

您可以做的是登录 tmp table,让调用者决定是否必须复制 table 以及直接转换的位置。

此方法的缺点在于并发作业。复制转换则需要根据通道号进行决策。