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 的相关文章

  • TeslaMate特斯拉神器本地Docker部署实现无公网远程访问

    文章目录 1 Docker部署TeslaMate 2 本地访问TeslaMate 3 Linux安装Cpolar 4 配置TeslaMate公网地址 5 远程访问TeslaMate 6 固定TeslaMate公网地址
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • SSIS 导入 Excel 日期时出错(截断错误)

    我很抱歉发布了一个看似非常简单的问题 但我找不到答案 而且我浪费了几天 此时不仅仅是几个小时 我对 SSIS 还很陌生 它只是让我感到不舒服 背景 非常简单的 SSIS 包 用于将 Excel 工作表导入 SQL Server 中的临时表
  • 在生产环境中部署包时,如何避免在脚本任务的“添加引用”中手动浏览DLL?

    I use EPPlus dll用于动态生成 Excel 文件以供附件并在 SSIS 包的脚本任务中生成邮件程序的库 当邮件程序有新的更改需求时 我在本地计算机上的脚本任务中进行更改 并将构建的包文件 dtsx 发送给 DBA 团队进行部署
  • 如何解决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 平台的应用自动化
  • pyodbc 与 pypyodbc 相比有什么设计优势吗?

    I know pyodbc http code google com p pyodbc 是一个较旧的项目 可能功能更强大 更健壮 但是它的设计 基于编译的 C 代码的组件 是否有任何使其比纯 Python 实现更可取的地方 例如pypyod
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • Kubernetes (十二) 存储——Volumes配置管理

    一 卷的概念 官方地址 卷 Kubernetes https v1 24 docs kubernetes io zh cn docs concepts storage volumes 二 卷的类型及使用 emptyDir卷 1 创建编辑文件
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • SSIS:如何在数据流任务中运行存储过程

    我有一个执行此操作的数据流任务 从 OLE DB 源中 运行 SQL 命令来选择一些数据 查找不同的 SQL DB 源 检查数据是否已存在 根据查找匹配输出与查找不匹配输出 使用不同的输入参数运行存储过程 输入参数将基于 2 中的 可用查找
  • 如何在平面文件连接管理器上重新配置列信息?

    我有一个正在从平面文件读取数据的平面文件源 我们最近在此平面文件中添加了一个新列 平面文件数据被插入到数据库表中 为了适应目标组件中的新字段 我使用了ALTER TABLE语句将新列添加到表中 这是我所做的唯一改变 平面文件和目标组件之间的
  • 如何在 SSIS 中设置 zip 文件的密码?

    我使用 SSIS 中的执行进程任务通过 7 zip 压缩了文件 现在我必须为 zip 文件设置密码 我该如何实现 我不认为这是一个 ssis 问题 你必须看看7zip 命令行用户指南 https sevenzip osdn jp chm c
  • 每小时行数

    我正在探索自行车共享数据 我合并了两个表 一个包含自行车共享数据 另一个包含天气数据 开始日期 列位于自行车共享数据中 日期 列是天气数据 我想对每小时的 ID 计数进行分组 这样我就可以看到天气对自行车使用的影响 ID Start End
  • 使用执行 SQL 任务的参数映射

    我正在尝试创建一个临时表并将数据插入到 foreach 循环容器内的执行 SQL 任务内的临时表中 这是sql任务 IF OBJECT ID TEMPDB DBO TEMP IS NOT NULL DROP TABLE TEMP GO CR
  • ETL 工具...它们到底做什么?请通俗地说[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我最近接触了一些 ETL 工具 例如 Talend 和 Apatar 我想知道这些工具通俗地说的用途 主要目标到底是什么 谁主要使用它
  • 为什么我的 ODBC 连接在 Visual Studio 中运行 SSIS 加载时失败,但在使用执行包实用工具运行相同包时却失败

    我正在 SSIS 2012 中处理数据集市加载包 当尝试在 Visual Studio 中执行该包时 我收到此错误 AcquireConnection方法调用连接管理器数据 Warehouse ssusr 失败 错误代码为 0xC00140
  • Oracle OLE DB 提供程序未在 SSIS 中列出

    我在 SSIS 和 VS2015 CM 方面遇到问题 我有一个包需要连接 Oracle 来获取一些数据 我安装了适用于 Win64 的 ODAC 和 Oracle 客户端 但看不到提供程序列表中列出的 OLE DB 的 Oracle 提供程

随机推荐

  • 怎么采集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目录