Kettle连接不上数据库及中文乱码问题解决
2021/9/18 19:08:41
本文主要是介绍Kettle连接不上数据库及中文乱码问题解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Kettle 连接数据库问题分析及解决
一、问题一:测试连接数据库出问题
1 将如下驱动包导入data-integration目录下的Lib目录
mysql-connector-java-5.1.40.jar mysql-connector-java-8.0.17.jar
mysql-connector-java-5.1.40.jar提取码dny8
mysql-connector-java-8.0.17.jar提取码qqxh
2 重新测试连接数据库
如果连接成功,则结束,如果连接成功但是再进行数据转换时出错,或者其他问题往下看。(基本上驱动有了都会成功)
二、 问题二:测试连接成功,但是在进行转换运行时出错
1 这种情况基本上都是字符集问题
可能在你测试成功后,在进行在Kettle上执行SQL语句建立表时出错,是字符集错误没跑了。
2 修改字符集
将mysql下的字符集编码格式改为utf8mb4
utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,程序中将报SQL异常。
3 修改过程如下
修改mysql字符集编码为utf8mb4(Linux系统)
1 查看自己的数据库版本
SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMtDgUp9-1631938806029)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20210918121325215.png)]
2 进入自己的mysql安装路径修改my.cnf配置文件
我的安装路径是:/etc/mysql:在配置文件中添加如下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’
3 重新启动数据库
再次查看数据库编码格式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtkO5J4d-1631938806031)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20210918121251784.png)]
可以看到,已经成功修改为utf8mb4格式
4 将数据库和已经建好的表也转换成utf8mb4
ALTER DATABASE (输入你自己的数据库名) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ALTER TABLE (输入你自己的表名) CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
5 将kettle中数据库连接中的高级添加下面一句话
set names utf8;
6 将kettle中数据库连接中的选项下的命令参数添加下面一句话
characterEncoding utf8;
通过上面几步,基本上可以解决Kettle连接数据库和中文乱码问题。
这篇关于Kettle连接不上数据库及中文乱码问题解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)