连接到Oracle自治数据仓库(ADWC)之Kettle(JDBC Thin)

Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。

1. 说在前面的话

最近遇到客户因成本限制,想用开源工具Kettle(现在更名叫PDI了)进行定时数据抽取到Oracle自治数据仓库(ADWC)。因在服务器上使用OCI模式连接失败,改为使用JNDI+JDBC Thin模式连接成功。ADW支持多种连接方式(见下图),本文档只讨论JDBC thin模式,其它连接方式请参见我的其它笔记。


连接到ADW

2. 下载ADW客户端凭据

登入Oracle Cloud,进入创建的ADW界面,点击服务控制台。

点击服务控制台

Administration > Download Client credentials (Wallet)
点击下载

输入一个密码之后,点击Download按钮。(BTW: 这个密码用于保护下载credential中PKCS12,java keystore和truststore文件)
浏览器会下载一个名为” Wallet_<ADW_NAME>.zip”的压缩包,解压后放到电脑中,这里例位置为: D:\instantclient_18_3\network\admin\anbao

3. 如果JDK版本低于JDK8u162,下载 JCE文件

下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

下载JCE

将将下载好的jce解压后文件拷贝到JDK安装路径jdk1.8.0_221\jre\lib\security下
只需要这两个jar包

4. 下载JDBC相关JAR包

19.3 JDBC driver 或者 18.3 JDBC driver均可。

19c

18c

这里我采用JDBC 8,下载解压后提取ojdbc8.jar, raclepki.jar, osdt_core.jar, osdt_cert.jar(粗暴点就复制所有jar包,嘿嘿)到Kettle相应lib目录中(例中为:D:\pdi-ce-8.3.0.0-371\data-integration\lib)。
ojdbc8

5. 在Kettle中配置连接

5.1 配置JNDI

修改Kettle中jdbc.properties 文件。(例中目录: D:\pdi-ce-8.3.0.0-371\data-integration\simple-jndi),添加新行(密码已隐藏)如下:

ThinConn/type=javax.sql.DataSource
ThinConn/driver=oracle.jdbc.driver.OracleDriver
ThinConn/url=jdbc:oracle:thin:@anbaoadw201909_low?TNS_ADMIN=D:\\instantclient_18_3\\network\\admin\\anbao
ThinConn/user=erp
ThinConn/password=***

其中TNS_ADMIN指定wallet所在文件夹,anbaoadw201909_low为ADW连接字符串,需配置Oracle Client。


tnsnames.ora

如果没有安装oracle客户端,可以直接复制连接字符串

ThinConn/url=jdbc:oracle:thin:/@(description= (address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=vhtn8jjg3nsyglx_xxxadw_high.adwc.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

5.2 Kettle中配置数据库连接

Create connection in Kettle

6. 结语

原创文章,需转载请留言和私信联系。如有疑问,欢迎留言或私信共同探讨。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容