之前修改了报表的结果,增加了一行一列,粗略测试一下也能导入数据,
在测试环境中可以导入数据,在真实环境里却无法导入,
本以为一个小时能搞定,结果找原因就找了一天
测试环境与真实环境对比:
报表相同
数据相同浏览器相同
数据库表结构相同
DB2 SQL error: SQLCODE: -302, SQLSTATE: 22003, SQLERRMC: null
在网上查到:
-302 22001 输入的变量值对指定的列无效
22023:数值超出范围。
分析一下可能原因
1.插入的数据过长
已修改数据与数据库字段,排除
2.查询参数的字段过长,或类型不符
测试环境中相同参数未出现问题,修改后仍报错,排除
3.新增字段的更新属性未填写
填写后仍然报错,排除
4.负责人,单位,日期等字段影响
修改后仍然报错,排除
5.当数据库中有数据时可以插入,没有则报错
未确定到具体字段
(1)主键
更换了主键字段,仍然报错,排除
(2)计算百分率的字段
由于插入了行与列,自动计算中相应根据单元格计算百分率的表达式未改变
原来是测试环境中有数据,自动计算出了百分率,虽然这个百分率也不正确.
真实环境中没有数据,自动计算出的是NaN,插入数据的时候报错
最后用了两分钟改完了测了一遍