当前位置: 首页 > news >正文

Kettle工具通过JNDI连接Oracle集群

我们在用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工具。

http://www.lryc.cn/news/34796.html

相关文章:

  • [ 常用工具篇 ] windows安装phpStudy_v8.1_X64
  • SpringBoot 如何将配置文件挂到 jar 包外面?
  • 蓝桥杯C/C++b组第一题个人整理合集(5年真题+模拟题)
  • 深入浅出PaddlePaddle函数——paddle.zeros
  • [力扣sql]
  • Docker基本操作
  • golang如何使用rocketmq 附加闭坑指南 建议收藏!!!
  • C++实现的二叉树创建和遍历,超入门邻家小女也懂了
  • 如何写出高质量的业务接口
  • 3.8多线程
  • 图文讲解MongoDB该怎么安装
  • 「ML 实践篇」机器学习项目落地
  • c++面试技巧-基础篇3
  • MySQL OCP888题解044-从服务器上导入mysql模式数据后的权限问题
  • 实战小项目之视频监控(1-2)
  • 人工智能基础--AI作业1-ML基础
  • 关于JS中this对象指向问题总结
  • Codeforces Round 855 (Div. 3) A-E2
  • Spark Yarn 运行环境搭建
  • SpringMVC 页面跳转指南:转发和重定向的实现与比较
  • ModStartCMS v5.9.0 后台浅色模式,系统样式升级
  • 2020蓝桥杯真题反倍数 C语言/C++
  • PTA:L1-025 正整数A+B、L1-026 I Love GPLT、L1-027 出租(C++)
  • 状态机的Go语言实现版本
  • 第2章 线程安全与共享资源竞争
  • 77. writerows写入多行
  • STM32MP157-Linux输入设备应用编程-多点触摸屏编程
  • mybatis-plus的一般实现过程(超详细)
  • Spark(5):RDD概述
  • 面向对象 - 继承