1.问题提出
假设有一种情况,我们有很多个转换文件,或者一个转换文件里面去配置很多的数据库,其实挺不方便的,每次需要根据不同的需求去切换数据库,挺麻烦的,
这时候可以使用kettle数据源的JNDI方式,每次切换数据库的话只需要改文件的数据库配置就好,一次就好。
2.配置方法:
2.1 前置条件:有相应数据库的驱动,如oracle的ojdbc7.jar包,mysql的mysql-jdbc.jar包,没有的话,下载相应版本的jar放到lib文件夹下即可(kettle默
认是不带的)。
2.2 找到kettle7.0的文件夹simple-jndi(如data-integration\simple-jndi),下面有一个文件jdbc.properties,打开添加配置即可:
例如MYSQL:
说明:
MYSQL/type前面的MYSQL可以任意起名,比如叫"test_dev",那么你的JNDI名字就叫“test_dev”。
例如oracle数据库的配置如下:
2.3 接下来就是kettle的的DB配置了,如下:打开转换(没有的话可以“文件-新建-转换”),找到DB连接,右键新增连接,连接名称可以随便起,
JNDI名称就是properties文件里面配置的名称,区分大小写。
完成之后一定要重启spoon才可以生效。
如有兴趣,多多交流!
备注:
对于jdbc.properties里面参数做下面说明:
type:这个属性的值永远是 javax.sql.DataSource
driver:实现了jdbc里面Driver类的,JDBC驱动类的全名
url:JDBC URL连接串
user:数据库用户名
password:数据库密码
“/”前面的是JNDI连接名,这个要求唯一。