在 kettle 里如何使用 JNDI 方式连接数据源

转自:http://pdi.itpub.net/post/37422/484561

 

使用 JNDI 的好处就是便于部署和数据源的变更,kettle 也提供了 JNDI 方式连接。
本文以 tomcat 和 mysql 为例,说明 kettle 如何使用 JNDI 方式连接数据源
1. 先将你的应用部署到 webapps 下,如 webapps/example。


2. 在 ./webapps/example/WEB-INF/lib 目录下,确保要有 kettle-core.jar, kettle-engine.jar 和其他 kettle 运行时依赖的 jar 文件。
3. 将 mysql 的 jdbc 驱动拷贝到tomcat 的 ./lib 目录下,同时在 ./conf/server.xml 文件中配置 JNDI:
<Context path="/example" docBase="example"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="1" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?autoReconnect=true"/>

</Context>
4. 使用 kettle 的图形界面 spoon 创建一个转换,在创建数据库连接时,要使用 JNDI 连接方式,JNDI 名称是 TestDB。 创建完转换后将转换保存为 ktr 文件如:c:/test.ktr
5. 创建 kettle-jndi-test.jsp 文件,文件内容如下:
<%@ page contentType="text/html"%>
<%@ page import="org.pentaho.di.trans.*" %>
<%@ page import="org.apache.commons.vfs.*" %>
<%

try{
StepLoader.init();
}catch (Exception ex)
{
ex.printStackTrace();
}
TransMeta meta = new TransMeta ("c:/test.ktr");
Trans trans = new Trans(meta);
trans.execute(null);
trans.waitUntilFinished();
trans.endProcessing("end");
%>
6. 启动 tomcat, 浏览器中输入URL: http://localhost:8080/example/kettle-jndi-test.jsp 可以发现 kettle 转换已经成功执行。

 

 

在Ketttle本身配置数据源: http://cai555.iteye.com/blog/623620

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值