Kettle工具通过JNDI连接Oracle集群

3 篇文章 0 订阅
2 篇文章 0 订阅

我们在用Kettle ETL工具的时候,可能会遇到数据库为Oracle集群的模式,或者有时候目标库为oracle,在持续的循环调度中,经常发现oracle的数据库连接中断的情况,此时,在Kettle中有一个JNDI的连接方式能很好的解决此模式的连接。

1、查看Oracle配置连接文件tnsnames.ora中的连接信息:

ORCL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务IP地址1)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务IP地址2)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

注:此文件在...product\11.2.0\dbhome_1\NETWORK\ADMIN下:

 

 2、在kettle工具中,打开jdbc.properties文件,在此文件中添加如下代码:

OracleJNDI/type=javax.sql.DataSource OracleJNDI/driver=oracle.jdbc.driver.OracleDriver OracleJNDI/url=jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (ADDRESS = (PROTOCOL = TCP)(HOST = 服务IP地址1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 服务IP地址2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) ( SERVICE_NAME = orcl)))
OracleJNDI/user=数据库用户名
OracleJNDI/password=数据库密码

注:修改此文件后,记得重启Kettle工具。

此文件的目录在kettle工具..\data-integration\simple-jndi:

 注:

OracleJNDI/type =数据库类型

OracleJNDI/driver:此数据库的驱动(不同的数据库,此驱动不同)

OracleJNDI/url=jdbc:oracle:thin:@ :此处填第1步中“ORCL = ” 等号后面的内容

OracleJNDI/user = 访问数据库的用户名

OracleJNDI/password= 此用户名的访问密码

3、在kettle连接中,选择JNDI的连接方式即可:

 注:JNDI名称为第二步中的自定义的名称:

5、另外,为了避免驱动的版本问题,建议把Oracle的驱动直接拷贝到kettle工具中:

 从此目录的驱动拷贝到kettle工具中的lib目录下:

 驱动拷贝完后,也需重启kettle工具。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
问题: kettle连接Oracle时出现错误,如何解决? 在kettle连接Oracle时出现错误连接数据库的情况。根据引用中的报错信息,可能是由于以下原因导致的:org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to ... 首先,我们可以按照引用中的步骤检查连接Oracle的参数设置是否正确: 1. 确保连接名称填写正确,可以随意起一个连接名称; 2. 连接类型选择Oracle; 3. 连接方式选择Native(JDBC); 4. 主机名称填写正确的地址; 5. 数据库名称填写正确的实例名; 6. 数据表空间和索引表空间留空; 7. 端口号填写-1(只适用于Oracle数据库,其他数据库需要填写正确的端口号); 8. 填写正确的用户名和密码; 9. 最后进行数据库连接测试,如果提示连接成功,则说明已经成功连接到数据库,可以进行操作。 此外,还需要确保系统中安装了正确版本的JDK和PDI(kettle)软件。根据引用中提供的信息,JDK版本应为1.8.0_281,PDI版本应为7.1.0.0-12。 如果按照上述步骤检查后仍然无法解决连接问题,可能需要进一步检查网络连接、数据库配置及权限等方面的问题。可以尝试查看相关日志文件以获取更详细的错误信息,并参考相关文档或寻求专业人士的帮助来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [kettle连接Oracle报错](https://download.csdn.net/download/weixin_38599537/13684204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [kettle连接Oracle数据库详细步骤](https://blog.csdn.net/qq_38654730/article/details/117358069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据时代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值