转自: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
分享到:
相关推荐
本文将详细介绍如何利用Kettler(Kettle 的图形化前端工具)通过JNDI(Java Naming and Directory Interface)方式连接 Oracle 12c 数据库。 #### 一、问题背景 对于 Oracle 10g 和 11g 版本,通常可以直接使用 ...
本文将深入讲解如何在Java环境中,特别是Tomcat服务器中配置和使用连接池,以及通过JNDI(Java Naming and Directory Interface)查找和使用数据源。 首先,连接池的配置通常在应用服务器的配置文件中完成。在...
如果您唯一的目的是测试或使用依赖于Tomcat之外的Tomcat JNDI环境的类,或者仅需要基于JNDI的数据源,请 (不要与Simple-JNDI混淆)。 Simple-JNDI的JNDI实现完全基于内存。 没有启动服务器实例。 一个java.util....
- **Config-jndi**:包含Kettle使用JNDI方式连接数据源所需的配置文件,如`jdbc.properties`。 - **Lib**:存放Kettle的核心组件、工作引擎、数据库驱动、图形界面等相关jar包。 - **Plugins**:用于存放自定义插件...
1. **创建数据源连接**:首先,我们需要在Kettle中建立到目标数据库的连接,填写数据库类型、服务器地址、端口、数据库名称、用户名和密码等信息,确保Kettle能正确地访问数据库。 2. **设计数据库输入步骤**:然后...
- 为数据源创建适当索引,特别是在使用更新操作时。 - 利用集群部署提升处理能力。 - 使用数据库自身的批量加载工具。 9. **版本控制**: - 通过资源库和文件结合版本控制系统(如VSS、SVN)管理多个转换文件。...
将kettle集成值web应用中,不再需打开kettle窗口运行,并通过spring自动任务进行数据抽取,数据库采用数据源(jndi)的方式进行管理。配置简单方便。(之前需要kettle打开其运行环境,并配置数据库连接的相关信息)
此视频可能涵盖如何通过JNDI配置数据源,并演示了如何在Kettle中处理多个表的合并操作。 - **windows作业调度.flv**:这可能涉及到Kettle如何与Windows任务计划程序集成,以定时执行ETL任务,实现自动化数据处理。 ...
- **Simple-jndi**:JNDI数据源连接配置。 - **Ui**:启动界面和配置信息。 ### Kettle菜单介绍 - **Transformation**的Main Tree菜单列出了转换的基本属性,如DB连接、Steps和Hops,用户可在此配置和查看转换的...
- 使用JNDI方式配置Oracle数据库连接,具体的配置信息需要写入Kettle安装路径下的`simple-jndi/jdbc.properties`文件中,例如: ``` DZDZ/type=javax.sql.DataSource DZDZ/driver=oracle.jdbc.driver.Oracle...
- **Simple-jndi**:用于JNDI方式连接数据源的配置。 - **Ui**:界面相关的资源和配置。 通过上述介绍,我们可以看出Kettle是一个功能全面、易用的ETL工具,适合新手快速上手。对于数据集成项目,Kettle提供了强大...
在实际工作中,Kettle连接数据库的方式有两种:直接在转换中配置和通过JNDI配置。直接配置方式简单易用,但若需要更改数据源,需要逐个转换修改。相比之下,使用JNDI配置文件更加灵活,只需要修改配置文件,所有转换...
- Simple-jndi:用于JNDI方式连接数据源的配置文件。 - Ui:储存初始化界面的图像和配置。 总的来说,Kettle作为一个强大的ETL工具,以其丰富的功能、灵活的架构和用户友好的界面,为数据治理和数据交换提供了有力...
- **Config-jndi**:用于存放 JNDI 方式的数据库连接配置文件。 - **Lib**:包含 Kettle 的核心库、工作引擎库、数据库库以及 UI 库。 - **Plugins**:用于存放自定义插件的 jar 包。 - **Docs**:包含 Kettle ...
- **概念**:JNDI(Java Naming and Directory Interface)是Kettle连接数据库时使用的配置文件,类似于Oracle的TNS文件。 - **设置步骤**: - JNDI配置文件位于Kettle安装目录下的`simple-jndi`文件夹中。 - ...
现在你可以直接在源代码中进行调试,更深入地了解Kettle的工作原理,或者开发自己的插件以满足特定的业务需求。源码环境使得问题定位和修复更为直接和高效,对提升Kettle的使用体验和性能优化具有重要意义。 在实际...
这一节强调了使用JSON作为数据源时的处理方式,以及如何有效地利用PDI工具来处理JSON数据。 在遵循上述最佳实践时,可以避免很多常见的错误,减少开发人员在ETL项目中走弯路的情况,提高开发速度和代码质量,同时...