本文主要总结了 Kettle 在中文环境应用中遇到的一些问题, 问题列表还会不断增加. 这些问题都是 kettle fans 提供的,欢迎参与讨论.
问题1:
从excel 中抽取数据,插入到oracle 9 数据库中,报下面的错误.
2008/06/25 13:30:57 - 插入更新数据表.0 - Insert row: ![field1=1.3965E8, field2=1,798, field3=2002/05/27 00:00:00.000]
2008/06/25 13:30:57 - oracl - ERROR : java.sql.SQLException: ORA-01722: 无效数字
2008/06/25 13:30:57 - oracl - ERROR : at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
原因:
从错误信息可以看出,字段 "field2" 对应的数据是 1,798,该字段在数据库中是 Number 类型,Oracle 不能将 1,798 格式的字符串转换为数字。
解决方法:
在 【Excel输入步骤】-【字段】 标签下对应的字段设置为正确的类型。将 "field2" 设置为 "Number" 类型(默认是 String 类型)。
问题2: 由 sqlserver 向 mysql 迁移数据, 迁移以后的数据是乱码
原因: 这是由于mysql 的默认编码是 utf-8, 而中文环境下客户端的默认编码一般都是 gbk 或 gb18030, 由于客户端和服务器编码不一样导致保存到 mysql 的数据是乱码
解决方法: 在新建连接窗口中有一个选项(option) 标签, 在这个标签下可以设置数据库的一些连接参数. 在这里我们要设置 mysql 的客户端编码参数, 参数名characterEncoding, 参数值gbk.
问题3: 在 SQLServer 表输入步骤中使用以问号作为参数的 sql 语句 (参数的值从以前的步骤中获得),向 mysql 数据库导入数据 (使用 mysql 表输出步骤).
在执行的时候报告错误 Unable to get queryfields for SQL: AND e.LOCAL_TIME>? 00909 PRS INC Invalid character.
原因: 从错误语句看,是参数没有被替换掉, 因为发送给 mysql 服务器的是这样的语句 "AND e.LOCAL_TIME>?". 参数没有被替换掉是因为从以前步骤中读取的参数值是 null.
解决方法: 增加对 null 值的判断, 可以有两种方法, 如果这个值是从数据库获取的,一般的数据库都提供了处理null值的函数,如 mysql 的ISNULL 函数. 如果这个值是从其他步骤获得的,可以通过 Javascript 步骤进行判断并转换.
问题4: 使用 PDI 3.x 版本连接 DB2 数据库时会报下面的错误
Error connecting to database: (using class com.ibm.db2.jcc.DB2Driver)
encoding not supported!!
原因: PDI 自带的DB2 JDBC Driver 的版本比较低,无法连接 GBK 编码的 DB2 数据库。
解决方法: 将 DB2 数据库的编码改为 utf-8 编码。或者找高版本的 DB2 JDBC Driver 来代替 PDI 自带的DB2 JDBC Driver。
问题5: win2000 下运行,命令行太长导致spoon 或 kitchen 无法运行:
原因: spoon 运行时加载了太多的 jar,win2000 下对命令行的长度有限制
解决方法:1. 使用 java.ext.dirs 参数,将lib,libext,等 jar 路径都设置到这个参数下。
http://forums.pentaho.org/showthread.php?t=57843&page=2
2. 删除libext 目录下某些不需要的 jar,如各种数据库的jdbc driver
3. 使用 launcher 见
http://jira.pentaho.com/browse/PDI-559
分享到:
相关推荐
在IT领域,尤其是在大数据处理和ETL(提取、转换、加载)过程中,Pentaho Kettle(也称为Kettle或Spoon)是一个广泛使用的工具。然而,在处理大量数据时,Kettle可能会遇到内存管理问题,导致Java堆空间溢出错误。...
而在实际应用中,经常会遇到SSL证书验证的问题,尤其是在使用自签名证书或非标准证书的情况下。 #### 二、SSL信任证书问题概述 当Kettle尝试访问一个通过HTTPS协议提供服务的RESTful API时,如果服务器使用的是自...
5. 常见问题解答:这通常包含了用户在使用Kettle过程中可能遇到的问题及其解决方案,可以帮助用户快速解决遇到的困难,提高工作效率。 在学习这些文档时,读者可以了解到如何设计数据清洗和转换规则,如何处理大...
在Linux环境中部署Kettle(Pentaho Data Integration,也称为Kettle或PDI)时,可能会遇到因缺少libwebkitgtk库导致的运行错误。libwebkitgtk是WebKitGTK+的一个库,用于提供GTK+应用程序的Web渲染引擎,它使得在...
通过以上分析可以看出,虽然Kettle中的表输入功能看似简单,但在实际应用中还需注意诸多细节。遇到问题时,除了参考官方文档外,还可以尝试联系社区专家(如文中提到的QQ联系方式),或查阅更多的技术文档与教程,以...
7. **故障排查**:提供了解决Kettle运行中可能出现的问题的步骤和建议,是遇到困难时的重要参考资料。 8. **常见问题解答(FAQ)**:汇总了用户在使用过程中常见的问题及其解答,可以快速定位并解决问题。 9. **...
### Kettle自学实践:随机数统计与Excel输出 #### 一、背景介绍 Kettle是一款开源的数据集成...通过以上步骤的学习与实践,不仅可以加深对Kettle基础操作的理解,还能够在实际工作中灵活应用这些技能解决类似的问题。
《Kettle使用问题处理汇总整理》 Kettle,又称Pentaho Data Integration(PDI),是一款...在实际操作中,遇到具体问题应结合Kettle的官方文档、社区资源和实践经验,不断学习和探索,才能充分发挥Kettle的强大功能。
Java集成Kettle所有Jar包是一项常见的任务,尤其对于那些在数据处理、ETL(提取、转换、加载)项目中使用Kettle(也称为...在实践中,可能还会遇到特定的问题,如性能调优、并发处理等,这都需要根据具体情况进行解决。
在"Java2Kettle"这个示例中,可能包含了一个完整的Java应用示例,展示了如何从Java代码中调用Kettle的Job和转换,以及如何传递参数和处理结果。如果你遇到任何问题,可以参考这个示例,或者查看Kettle官方文档和社区...
- **调试现有插件**:在使用现有插件时遇到问题时,可以通过源码级别的调试来快速定位问题。这对于理解 Kettle 内部工作原理也非常有帮助。 - **定制化改造**:根据特定业务场景的需求对 Kettle 进行定制化的改造,...
在实际应用中,你可能还会遇到一些挑战,例如性能优化、数据类型映射和错误处理等。了解ClickHouse的最佳实践和Kettle的工作原理可以帮助你更有效地利用这两个工具。此外,随着Kettle社区的发展,可能会有第三方插件...
本文详细解答了在使用Kettle进行ETL任务设计时遇到的一些常见问题,包括Join操作、数据库连接管理、事务处理以及临时表的应用等方面。通过对这些问题的深入探讨,旨在帮助用户更加熟练地掌握Kettle的使用方法,提高...
### Kettle源码编译流程详解 ...通过以上的步骤和说明,你可以顺利地完成Kettle源码的编译工作,并能有效地解决编译过程中可能遇到的各种问题。这对于深入理解Kettle的工作原理和技术架构具有重要意义。
在描述中提到的博客链接(虽然这里没有提供实际链接,但通常会提供有关如何实现这一过程的详细步骤和示例)可能会提供更具体的指导,包括可能遇到的问题及解决方案。 标签 "源码" 和 "工具" 暗示了这篇文档可能涉及...
8. **错误处理和日志记录**:Kettle 提供详细的日志记录和错误处理机制,帮助用户跟踪和解决在处理 Hive 数据时遇到的问题。 9. **与 SQL Server 和 Oracle 数据库的连接**:除了 Hive,这个连接包还包含了连接 SQL...
Kettle是一款广泛使用的ETL工具,其特点和使用方法如下: 1. Kettle简介: Kettle是一款开源的ETL(Extract-Transform-Load,即数据...无论是在个人学习还是在企业项目中,Kettle都能够提供有效的数据处理解决方案。
描述中提到的问题是在尝试运行Kettle的数据集成客户端Spoon时,系统报错缺少“libwebkitgtk-1.0”,并给出了解决方案,即通过yum安装“webkitgtk”包。这个错误通常意味着系统缺乏运行图形界面应用所需的库。 ...
"kettle下MySQL数据库驱动.zip"文件是为了解决Kettle在与MySQL数据库交互时遇到的连接问题,通过将驱动放入指定的lib目录,可以确保Kettle能够正确识别并使用MySQL的JDBC驱动,从而实现数据的提取、转换和加载。
4. 编译过程中可能会遇到依赖问题,根据错误信息解决缺失的依赖。 5. 编译完成后,生成的可执行文件通常位于 `target` 目录下。 通过以上步骤,你可以成功地将 Kettle 5.2 源码编译成可运行的版本,从而进行自定义...