现在的位置: 首页 > 综合 > 正文

oracle迁移到mysql时insert数据到mysql text字段发现报字段不够长的问题

2018年01月21日 ⁄ 综合 ⁄ 共 484字 ⁄ 字号 评论关闭

今天开发说在从oracle迁移数据到msyql的测试过程中出现字段长度不够的问题,第一反应是字段设置太短,但是看过字段后发现不是这么简单

错误代码:

java.sql.BatchUpdateException: Data truncation: Data too long for column 'conditions' at row 1  

错误截图:

oracle 字段类型和长度:

varchar(4000)

mysql 字段类型和长度

text (uft8)

按道理插入不了这不因该

然后开始查找原因:

查看linux 系统变量 env 发现系统字符集为:

LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

再次查看mysql配置my.cnf 查看字符集设置

[client]

#default-character-set = utf8
[mysqld]

character-set-server=utf8

发现客户端的字符集配置被注释了

打开后重启数据库,发现问题解决。

方法2:

在数据库连接参数中指定客户端字符集为utf8或set names utf8 都是可以的

先简单写到这吧,突然心头涌起一股蛋蛋的忧伤。

抱歉!评论已关闭.