简单来说,就是 .ktr 中的命名含有中文,报错内容翻译如下
- 从存储库读取步骤信息时发生意外错误
- 1 字节 UTF-8序列的第 1 字节无效
一、可通过 2.1 方法1:编辑 Spoon.bat,追加配置
打开转换,然后保存至本地
二、打开保存好的 .ktr 文件,查看其中是否有中文,如:“表输入”
三、重现编辑 .ktr,修改 上述中文名(为英文)
两种解决办法
一:【创建数据库连接时】修改数据库编码
注意,是创建数据库连接时修改,报这个错误是因为设置数据库共享时存入配置文件中的内容乱码了,即使你现在更改了数据库连接的编码,也还是不会更改xml文件的内容,所以要在创建数据库连接时修改
如图配置characterEncoding=gbk即可
ERROR: invalid byte sequence for encoding “UTF8”: 0x00 可能是Oracle的表字段中存在chr(0) 字符
1.问题描述
最近在做Oracle到Postgresql表数据的同步,采用的是ETL表输入表输出组件,其中几张表同步时总是报如下错误:
ERROR Batch entry 0 INSERT INTO table_name (column_name) VALUES ( values) was aborted: ERROR: invalid byte
Invalid byte 1 of 1-byte UTF-8 sequence.
Caused by: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 9; Invalid byte 1 of 1-byte UTF-8 sequence.
Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: In
背景:之前在windows server 2008 R2 上部署kettle,由于ie浏览器内核版本太低导致connect白屏,升级ie后先后测试了kettle7、kettle8、kettle9,都能正常使用,就使用的kettle9。
问题1:新建转换保存后无法打开,错误提示:一个数据库错误发生在从资源库文件读取转换时...Invalid byte 1 of 1-byte UTF-8 sequence
问题2:打开已有转换后无法运行,错误提示:一个数据库错误发生在从资源库文件读取转换时...,但调试没问
1.设置字符编码:set names utf8;
2.添加命名参数:characterEncoding 值:utf8
3.编辑Spoon.bat在if "%PENTAHO_DI_JAVA_OPTIONS%",在后边添加:"-Dfile.encoding=UTF-8",保存重启kettle
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-X.
好不容易用 Kettle 创建好了数据库连接,用 admin 用户创建了其他用户来登录。
退出 Kettle 后重新启动,结果发现报错:
Invalid byte 1 of 1-byte UTF-8 sequence
郁闷死了,网上查了一下,这个一般是 .xml 文件导致的,那为什么这会有这个问题呢?
原来是 %AppData%\.kettle\repositories.xml 这个文件里