Kettle软件主要提供了4种数据库连接方式,分别是JDBC、ODBC、OCI、JNDI,其中 OCI 只适用于Oracle。本文重点对使用比较普遍的 JDBC 和 JNDI 连接方式进行探讨,后面会有单独文章对 ODBC 连接方式进行说明。

前期准备

在进行数据库连接之前,需要确保以下两个方面已经准备好:

1、对应类型对应版本的数据库驱动文件;

2、数据库连接所需的账号及配置信息。

JDBC方式

JDBC是英文 “Java Database Connectivity” 的缩写,翻译成中文为 “Java数据库连接” ,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

这里以MySQL的连接操作进行举例说明。

1、驱动准备

首先把数据库驱动放到目录 “pdi-ce-9.2.0.0-290\data-integration\lib” 里面(这里以9.2版本为例,下同),我使用的是MySQL8.0,使用的驱动文件是“mysql-connector-java-5.1.47.jar”。

2、连接测试

新建数据库连接,必须是在打开转换或作业文件的前提下,步骤如下:

打开数据库连接界面:

填写数据库连接参数:

连接成功:

JNDI方式

JNDI是英文 “Java Naming and Directory Interface” 的缩写,翻译成中文为 “Java 命名与目录接口” 。具体逻辑就是,通过配置文件维护数据库连接信息,并赋予数据库连接信息一个名称,程序通过该名称引用数据库连接信息从而访问后台数据库。

这里仍以MySQL的连接操作进行举例说明。

1、驱动准备

和 JDBC 连接一样。

2、连接测试

配置文件路径:pdi-ce-9.2.0.0-290\data-integration\simple-jndi\jdbc.properties。

更新配置文件:

填写数据库连接参数:这里参数填写就比较简单了。

连接成功:

3、JNDI方式优点

在日常工作中,个人建议使用JNDI方式连接数据库,主要基于以下几点:

  • 方便开发调式:如果数据库分为测试库和生产库,可以通过更换“jdbc.properties”文件的方式快速实现数据源的切换;

  • 提升数据安全性:JDBC方式连接时,脚本文件里会保存数据连接的全部详细信息(其中数据库密码经过加密转换),在文件转移过程中有账号泄露风险;JNDI方式连接时,脚本里仅有连接名称,基本没有风险。

共享已有连接

数据连接建立完成后,只对当前转换或作业有效;如果需要后面新建文件后可以使用该连接,需要把该连接设置为“共享”。

数据连接共享操作:

共享前后显示对比:

资料下载

文中的“jdbc.properties”文件(包含MySQL、pgsql的参数模板),以及相关数据库驱动资源,请关注公众号后,回复“数据库驱动”获取。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐