运行时使用的 Kettle Change 连接

Posted

技术标签:

【中文标题】运行时使用的 Kettle Change 连接【英文标题】:Kettle Change connection used at runtime 【发布时间】:2018-12-20 15:03:01 【问题描述】:

我需要在运行时更改表格输入步骤使用的连接。

我定义了 3 个连接:STG、DWH、DM。 我想在运行时在它们之间进行选择。

我无法使用服务器名称、数据库名称等参数创建新连接。我必须使用现有连接。

我希望我可以在下面的框中写下一个变量$my_connection,但是该字段无法编辑。

有什么建议吗?

【问题讨论】:

【参考方案1】:

不要在 Step 的连接选择器中使用变量,而是在连接配置中使用主机和数据库名称。

编辑:

您可以为 KTR 传递一个变量,以使用调用转换执行器的 Switch/Case 步骤来捕获和测试它,在此 KTR 中,您将拥有表输入和复制行到结果步骤,结果将是在转换执行器之后捕获。您将需要 3 个不同的 KTR,每个都有 Table 输入步骤,用于执行 Switch / Case 步骤传递的行。

如果我不清楚或者您需要进一步解释,我也许可以举一个例子。

【讨论】:

正如我所说,我无法使用服务器名称、数据库名称等参数创建新连接。我必须使用现有连接。 我会说你被这个决定所阻碍,但是好的,Kettle 有很多方法可以实现相同的目标。我会用一个可能的解决方案编辑我的答案。 谢谢。但是,使用静态连接不是我的决定。

以上是关于运行时使用的 Kettle Change 连接的主要内容,如果未能解决你的问题,请参考以下文章

在 Kettle 上使用多个数据库连接运行相同的转换

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

Pentaho Kettle 连接到 Hadoop 集群

kettle在linux上的运行方法

怎么把kettle运行日志存到数据库

Pentaho Kettle - 在不停止作业的情况下运行检查数据库连接