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连接名,这个要求唯一。