kettle - 如何动态传递数据库连接属性以连接到pentaho中的不同数据库

标签 kettle

我正在使用kettle转换将CSV文件数据存储到数据库中。我的客户要求是将相同的CSV文件动态存储到不同的数据库(例如:Oracle和postgres)中。如何实现这一点?我尝试过kettle Job并设置变量方法。它对我不起作用。如何将数据库连接属性作为参数动态传递给转换以连接到不同的数据库。请帮我解决这个问题。

最佳答案

要连接到相同类型的不同数据库,您只需设置相关属性(主机、端口、数据库名称、模式、用户名、密码以及连接所需的任何内容)。

但是,如果您的数据库类型发生变化,您需要建立通用数据库连接,其中您需要提供 JDBC 驱动程序的类、完整的连接 URL(包括参数)、用户名和密码。

通过更改这些变量,您可以切换目标数据库。

请记住,不能在同一转换中设置和使用变量。由于转换步骤的并行性质,您需要在转换 1 中设置变量值,然后在转换 B 中使用它们,并将这两个转换包含在父作业中。最佳变量范围是“在根作业内有效”。

关于kettle - 如何动态传递数据库连接属性以连接到pentaho中的不同数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25120491/

相关文章:

pentaho - 在pentaho水壶转换中合并2行

mysql - 大数据并行运行的Pentaho表输入步骤

postgresql - 使用 SSL 将 Pentaho Kettle/Spoon 连接到 Heroku PostgreSQL 时出现问题

mysql - 使用 Pentaho Kettle,如何在保持引用完整性的同时从单个表加载多个表?

json - 如何使用 Pentaho 从 json 中的三个表到 mongodb 执行复杂文档

mysql - 显示表中某个字段的所有值(一个字段可以有多个值)

java - 水壶使用PGP加密文件

mysql - 我可以从 DTS 迁移到等效的 MySQL 工具吗?

java - Kettle在java函数中启动改变系统属性

concat - Kettle PDI Concat 列值