kettle使用常见问题解决-01

2023-10-27

kettle常见问题解决

1、kettle界面connect消失

第一步:检查IE浏览器,不能低于10;

第二步:在数据资源仓库的database里描述写中文,导致repositories.xml出现乱码;

解决方法:

      1) 找到.kettle目录,不知道目录路径的,可以搜索文件repositories.xml

                例如:C:\Users\yyalin\.kettle

      2)删除该目录下的repositories.xml,.spoonrc、db.cache文件

      3)重启恢复正常

1、无法将null插入

该问题是由于目标的字段不能为null,而插入的数据有null值导致的

解决方法:将目标库的字段设置为可以为null,或者用nvl等语句对入库数据执行处理

2、无效数字

原因1:是目标库要求的number类型,而入库的数据是varchar类型

解决方式:将目标库的类型改为varchar类型,或者用正则表达函数regexp_replace

入库数据进行过滤,只留下数字。

原因2:在对账报错的话,是因为原库、目标库主键字段类型不一致,一般是原库是varchar,目标库是number造成的,常出现在数据库是Oracle19C上。

解决方案:将原库字段TO_NUMBER()即可

3、入库字段的值太大

解决方法:将目标字段的值改大,或者用SUBSTR对入库数据进行截取

4、标志符无效,原因是目标库没有对应的字段

解决方法:检查目标库是否有对应的字段,没有就新增。也有可能是源库有多余字段,可能要删除。

5、大字段,用dblink,造成Kettle查询原表卡死或很慢

问题原因:大部分是使用dblink造成的,由于dblink对大字段比较敏感。

解决方案:建议将包含大字段的表使用原库连接方式直接查询,不再使用dblink,直接在数据库连接里面配置原库连接即可。

6、对账时报违反唯一性约束

解决方案:因为两边时间戳不一致造成的,在数据同步完后对错误消息进行插入更新处理,这样就可以保证两边时间戳及数据完全一致,避免因报错导致整个流程无法进行。

7、ORA-01861: 文字与格式字符串不匹配

造成原因:经常发生在数据库字段是日期类型,但是处理的时候是varchar类型的。

解决方案

利用数据库的日期类型查找是哪个字段,将其改为date类型即可。

8、解决转义问题

常见的报错:ORA-00917: 缺失逗号

解决方法:q'/?/'

INSERT INTO KTCITY.CDR_01_LOG_FALSE (FIELD_NAME,CREATE_TYPE,CREATE_TIME,TRAN_FLAG,EVT_LOG_ID,BS_CODE,TRAN_COMMENT,TABLE_NAME,UPDATE_TIME)

VALUES   ('ORG_CODE|CLINIC_ID@'||'?'||'|'||'?','?',sysdate,'N','?','C01.02.00.00',  q'/?/','KTBASE_PERSON',sysdate);

COMMIT;

/*+ driving_site(A)  LEADING(D,A,C,B) USE_NL(A) USE_NL(C) USE_NL(B) */

其中:A、B、C、D是表的别名。

9、kettle中报org.gjt.mm.mysql.Driver 解决办法

出现的问题:

解决方法:

修改maven 中的版本号,低于mysql-connector-java-5.1.47.jar这个版本都支持。

具体参考:

https://blog.csdn.net/Yanhe_z/article/details/117559022

org.gjt.mm.mysql.Driver 版本5.1.47以前可以使用
com.mysql.jdbc.Driver 版本6-以下可以使用
com.mysql.cj.jdbc.Driver版本6+以上可以使用

10、kettle并发设置

2、设置并发数量,开启多线程

需要添加的上面右键,然后填写数量为2,enter即可。

但是,在多线程”insert/update”场景中,如果更新的key并非惟一,则有可能产生死锁(多个线程一次更新同一行的数据),因此设置并发的时候最好关键字是主键或唯一字段

11、数据采集慢问题解决

12、kettle9.3mysql资源库乱码问题

备注:characterEncoding utf8

1、Invalid byte 2 of 2-byte UTF-8 sequence.
原因在于
C:\Users\Administrator.kettle\repositories.xml 这个xml文件中有汉字导致乱码。
解决办法:
    修改文件中的乱码,将同文件夹下的.spoonrc文件和db.cache-*文件删除掉;重启kettle

2、Kettle里在对数据库连接、转换、作业命名时尽量不要使用中文

3、Kettle在linux上查看不到资源库,将windows下的建好资源库的repositories.xml文件,拷贝到linux的KETTLE_HOME目录下(注:必须放到¥KETTLE_HOME目录下)

4、打开转换时提示【一个数据库错误发生在从资源库文件读取转换时 Unexpected error reading step information from the repository Invalid byte 1 of 1-byte UTF-8 sequence.】

一般发生在Windows系统,需要修改Spoon.bat中JVM参数【-Dfile.encoding=UTF-8】

第二种情况:若kettle客户端spoon.bat运行是好的,且webspoon运行也是好的,那就是启动类上少加了编码格式utf-8,例如:

start java -jar -Dfile.encoding=utf-8 -Xms10240m -Xmx10240m  ./dataCollection.jar

5、Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m

原因:tomcat使用的jdk版本为1.8,而在tomcat/bin/catalina.sh文件中,设置的vm参数:-Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=768m -Xss2m
该参数在jdk1.8版本中已放弃使用,正确的设置方式为:

1

2

JAVA_OPTS="-Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m  -Xss2m"

CATALINA_OPTS="-Djava.awt.headless=true"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kettle使用常见问题解决-01 的相关文章

  • ODI12c 中每个映射的最大用户数

    我是 ODI 新手 在从事 ODI 项目时 我面临一个问题 我在 ODI12c 中有 10 个映射 并且所有映射都使用相同的目标表 但由于某些性能问题 我希望一次最多只有 2 个用户可以执行映射 最多 2 个映射 因为他们使用相同的目标表
  • 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • 如何利用CHAT做简单的总结体会?

    问CHAT 在测试过程中使用appium python自动化的优点和体会 CHAT回复 使用 Appium 配合 Python 进行自动化测试主要有以下几点优点 1 跨平台性 Appium 支持 iOS 和 Android 平台的应用自动化
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • JOLT 移位转换以过滤数组中的值

    我想使用 JOLT 转换来做两件事 过滤名为 myarray 的数组中的元素 以便仅保留具有 v 518 属性的元素 过滤掉除 v 518 和 lfdn 之外的其余元素的所有属性 Input isError false isValid tr
  • 将 SQLite3 数据库转换为 JSON iOS

    我已经在谷歌上搜索了一个教程来帮助解决这个问题 但还没有找到任何全面的内容 我想通过以 JSON 格式发送数据库中包含的数据来将 SQLite3 数据库与 Web 服务进行单向同步 但无法找到有关如何将数据库转换为 JSON 的信息 如果有
  • 解析SSIS包

    我的文件系统文件夹中有几个 dtsx 包 我尝试使用下一个脚本从包中提取附加信息 using System using System Collections Generic using System Linq using System Te
  • 在 Talend 中加载一组文件的策略

    我想知道在 Talend 中解决以下问题的最佳策略是什么 我需要从存储在名称类似于 SAMPLE1 DAT SAMPLE2 DAT SAMPLEX DAT 的目录中的一组分隔文件中加载数据 目标将是 MySQL 数据库中的一个表 我必须立即
  • SSIS 顺序处理

    我在同一数据流任务中有 5 个独立的数据流 每个数据流都有源和目的地 我怎样才能让它们按顺序运行 它们似乎并行运行 我可能会在不同的数据流任务中执行此操作 但我怎样才能在单个数据流任务中做到这一点 同一任务中不要有独立的数据流 我知道导入
  • OLE DB 目标:转换规范的字符值无效

    我的表来源 num facture TYPE actif date 1 1 1 2010 01 31 00 00 00 000 2 2 1 2011 01 31 00 00 00 000 3 3 2 2012 01 31 00 00 00
  • 将 XML 数据保存到 SQL Server 的最佳方法是什么?

    有没有一条非常直接的直接路线 即SQL Server可以读取XML 或者 最好解析 XML 并通过 ADO Net 以通常的方式将其作为单独的行或批量更新进行传输 我意识到可能有一些解决方案涉及大型复杂的存储过程 虽然我并不完全反对这一点
  • 根据单元格位置将选择性字段从 Excel 批量插入到 SQL

    我有一个 SSIS 包 我必须从 Excel 工作表中选择一些值并将它们插入到 SQL Server 数据库表中 我是通过执行 sql 任务来完成的 这些是步骤 从映射表中选择所有记录 单元格位置是动态的 因此将其保留在 SQL 表中 大约
  • 从原始数据创建 n 个新行,例如 (1000....1000+n)

    我需要从 Excel 工作簿中读取数据 其中数据以这种方式存储 Company Accounts Company1 3000 3999 Company2 4000 4019 4021 4024 在 SSIS 中使用 OLE DB 目标的预期
  • 如何跳过 SSIS 数据流中的最后一行

    我在用FlatFile Source Manager gt Script COmponent as Trans gt OLEDB destination在我的数据流中 源从平面文件读取所有行 我想跳过更新数据库的最后一行 预告片记录 由于它
  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • SSIS - 在整个项目中更改对变量/参数的引用

    我创建了一个 SSIS 项目 认为它将以项目部署模式进行部署 我的很多包都有 2 个参数 称为P OdsTbl and P SrcEtl 每当我使用执行包任务时 我都会将子参数绑定到父参数 我发现该项目将以包部署模式部署 这意味着我需要将参

随机推荐

  • 怎么采集dedecms自定义内容模型

    有时我们需要用到dedecms提供的自定义内容模型功能去添加自定义内容模型来满足需求 那么dedecms自定义内同模型怎么添加采集规则呢 打开 dede templets co add step0 htm 找到如下代码 19行左右
  • 软考高级之系统架构师之企业应用集成EAI

    概述 在企业信息化建设的过程中 由于缺乏统一规划和总体布局 往往形成多个信息孤岛 信息孤岛使数据的一致性无法得到保证 信息无法共享和反馈 需要重复多次的采集和输入 信息孤岛是企业信息化一个重要的负面因素 其主要原因既有技术因素也有管理因素
  • 云服务器创建win10虚拟机吗,云服务器创建win10虚拟机

    云服务器创建win10虚拟机 内容精选 换一换 弹性云服务器 Elastic Cloud Server 以下简称ECS 是由CPU 内存 镜像 云硬盘组成的一种可随时获取 弹性可扩展的计算服务器 同时它结合VPC 虚拟防火墙 数据多副本保存
  • 深度优先搜索(DFS)

    算法入门 郭志伟 SYSU raphealguo at qq com 2012 05 12 1 前言 深度优先搜索 缩写DFS 有点类似广度优先搜索 也是对一个连通图进行遍历的算法 它的思想是从一个顶点V0开始 沿着一条路一直走到底 如果发
  • 记录一个接口. 接口同时传输参数和很多流的情况

    和一个保险系统的对接 文本类型的参数咱不多说 因为接口数据源是保险订单和保险理赔 所以需要传输一些图片和视频信息 比如说合同发票 定损图片和视频等等 这种需求的处理比较合适的方案是约定一个FTP SFTP服务器 然后参数中还传递文件的路径和
  • php的debug显示不全,【已解决】VSCode调试PHP时无法显示长字符串变量完整值

    折腾 未解决 php中用正则过滤html中code中多余span标签 期间 用VSCode去调试PHP期间 发现个问题 对于变量的值 如果很长的话 右键拷贝出来的值 只有一部分 不是完整的字符串 鼠标移动上去显示出来的效果 内容不完整 右键
  • oracle索引的监控

    author skatetime 2009 08 21 最近的研究发现 Oracle 数据库所使用的索引从来没有达到过可用索引数的1 4 或者其用法与其开始设计的意图不相同 未用的索引浪费空间 而且还会降低 DML 的速度 尤其是 UPDA
  • 警告: Exception encountered during context initialization - cancelling refresh attempt: org.springfram

    org springframework context support AbstractApplicationContext refresh 警告 Exception encountered during context initializ
  • 年终盘点一

    作者 阿里云云原生团队 受访嘉宾 阿里云智能 云原生 应用平台负责人 丁宇 阿里云智能容器服务负责人 易立 阿里云智能云原生应用平台产品负责人 李国强 阿里云智能中间件技术负责人 胡伟琪 阿里云智能Serverless研发负责人 杨皓然 Q
  • Mysql——使用字符集以及校对

    一 字符集 1 查看mysql支持的所有字符集 show character set 2 查看指定数据库的字符集 show variables like character 这八种情况分别对应 1 设置客户端使用的字符集 2 设置链接数据库
  • 如何将vscode设置成中文字体

    场景 最近不知道怎么的 vscode总是会自动跳回英文字体 明明已经下载过中文的字体了 解决方案 快捷键
  • PID调参过程详解(包括增量式和位移式)

    转载于https blog csdn net wangweijundeqq article details 76389770 位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息 并与目标预设值做比较 得到控制偏差 然后通过对偏差的P比例
  • 容器查看与删除

    lcc lcc docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ad424be7a46b mysql docker entrypoint s About an
  • 部分手机拍照屏幕旋转, 导致imageview不能显示的问题???

    在项目开发的过程中 碰见了一个非常诡异的事情 拍照之后的imageview不能正常显示图片 从而导致十行代码中间的几句代码不执行 不执行 不执行 代码中包括imageview setImageBitmap bitmap 一度认为这个bitm
  • Leetcode_146. LRU 缓存

    C语言纯暴力解法 能AC我没想到 typedef struct int key int val int time LRUCache int g cap 全局变量记录缓存容量 int g time 利用全局变量更新put和get操作时关键值的
  • 常见的服务器部署SSL证书的安装方法介绍

    很多网络管理员对于SSL证书安装还是处于一个比较懵懂的状态 不同的服务器部署SSL证书方法也不一样 但是步骤确是类似的 生成证书请求文件 CRS 向CA机构申请SSL证书 下载证书 然后根据不同的系统安装部署SSL证书 最后测试证书 下面根
  • Windows下 flex + bison 小例子

    下载flex和bison 网址是http gnuwin32 sourceforge net packages flex htm 和http gnuwin32 sourceforge net packages bison htm 如果这两个链
  • MySQL数据库的安装、创建库、创建表、向数据库添加测试数据及连接取数、遍历输出数据库查询结果ResultSet、使用“Class.forName(JDBC_DRIVER);”来注册加载驱动的原因

    MySQL数据库的安装 创建库 创建表 向数据库添加测试数据及连接取数 MySQL数据库简介 Java对于数据库常用操作的封装 安装MySQL数据库 下载MySQL安装包 Linux MySQL在ubuntu Linux下的多版本选择 DE
  • linux学习笔记7(PHP安装)

    49 安装PHP PHP PHP Hypertext Preprocessor 即 超文本预处理器 是在服务器端执行的脚本语言 尤其适用于Web开发并可嵌入HTML中 PHP语法学习了C语言 吸纳Java和Perl多个语言的特色发展出自己的
  • kettle使用常见问题解决-01

    kettle常见问题解决 1 kettle界面connect消失 第一步 检查IE浏览器 不能低于10 第二步 在数据资源仓库的database里描述写中文 导致repositories xml出现乱码 解决方法 1 找到 kettle目录