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


今天开发说在从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 都是可以的


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值