前言:
在什么条件下会出现这个问题呢?我搜集相关资料,大概包括这几种。
1、超过最大字段长度,当输入值长度超oracle最大长度4000时会出现。
2、驱动不适配问题,如升级oracle版本从9i生产至10或者11的高版本,JDBC的版本未升级。
3、字符集不匹配的问题。
这三大类出现的概率分别是第一种80%,第二种、第三种各占10%左右。但本次出现的问题是因为公司的加密软件造成的。如果有兴趣,一起往下看看吧。
一、问题剖析
现象:
分析:
从报错来看,显示的是错误的行,即存在超4000字节的行数。于是我就打开了原文件,哈哈哈,一堆乱码。原来是因为自动生成的CSV被同事编辑保存了,导致被加密,抽取过来全部是一堆乱码。直接BBQ了。哈哈哈哈哈。
二、总结
一般公司为了数据安全都会在PC机及服务器上装上加密软件。如果是后期开发的软件,建议增加一个标准化的接口来处理这些尴尬的事情。如果有天你也遇到这种报错,不妨看看我的文章,或许会对你有点点帮助。