有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我已经实现了几个端点,比如创建存储库的能力 包含作业和转换,运行作业和转换,显示作业和转换的映像,显示repo中的数据库连接,还有很多其他内容

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

这是我得到的一段代码。我硬编码这些值只是为了测试。 我循环遍历包含DatabaseMeta的数组列表,然后更改字段的值

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

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

当此方法执行时,它将创建一个。我的存储库中的kdb文件,使用上面设置的值,并向端点发出GET请求,将从新文件返回连接详细信息。 但是,我只想覆盖现有转换连接中的值,并在GET请求中返回它们。 有没有办法做到这一点? 任何帮助都将不胜感激

谢谢


共 (1) 个答案

  1. # 1 楼答案

    我不知道JAVA集成部分,但就纯Pentaho而言,KTR/KJB中声明的数据库连接需要在KTR/KJB中声明相同的参数,如下所示: enter image description here

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