lidan3959的专栏

专注于mysql兼带点oracle,情况就是这么个情况

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 都是可以的


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

阅读更多
个人分类: MYSQL_ERROR
上一篇MySQL子查询(一)—— EXISTS与IN
下一篇MySQL自增锁
想对作者说点什么? 我来说一句

oracle中的BLOB(照片)转换到mysql

2014年02月10日 1.89MB 下载

没有更多推荐了,返回首页

关闭
关闭