如何使用Java更新Pentaho转换连接数据?

时间:2018-10-10 15:27:52

标签: java pentaho pentaho-data-integration

我正在使用Java围绕Pentaho数据集成的功能构建一个宁静的API。

我已经实现了多个端点,例如创建存储库的能力 包含作业和转换,运行作业和转换,显示作业和转换的图像,显​​示存储库中的数据库连接,以及更多。

我正在尝试构建一个端点,以允许更改数据源,例如主机名,数据库名称等。但是在保存新的连接详细信息时遇到了一个问题。 / p>

这是我的一段代码。我仅出于测试目的对值进行了硬编码。 我遍历包含DatabaseMeta的数组列表,然后更改字段的值。

for(DatabaseMeta meta: databaseMeta) {
       meta.setHostName(“test_host”) ;
       meta.setDBPort(“test_port”);
       meta.setDBName(“test_database”);
       repositoryService.updateDataSource(databaseMeta);
 }

updateDatasource()方法只调用repository.save()(它是org.pentaho.di.repository包的一部分)并传入DatabaseMeta。

执行此方法时,它将在存储库中创建一个.kdb文件(具有上面设置的值),并向端点发出GET请求,将从新文件返回连接详细信息。 但是,我只想覆盖现有转换连接中的值,然后在GET请求中返回它们。 有什么方法可以实现? 任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不了解JAVA集成部分,但是就纯粹的Pentaho而言,KTR / KJB中声明的数据库连接需要具有在KTR / KJB中声明的相同参数,例如: enter image description here

这样,您传递给KTR / KJB的任何参数都将在连接中交换出来。

相关问题