我们在尝试 dbexport/dbimport Informix 数据库时遇到了一个奇怪的情况。导入数据库时出现错误:1213 - 字符到数字的转换错误我检查了导入停止的位置。
我编辑了相应的文件 (sed -n '1745813,1745815p' table.unl) 并看到了看起来已损坏的数据。
3.0]26.0]018102]0.0]20111001.0]0.0]77.38]20111012.0]978]04]0.0072]6.59]6.59]29.93]29.93]77.38]
3.0]26.0]018102]0.0]20111001.0]0.0]143.69]20111012.0]978]04]0.0144]6.59]6.59]48.79]48.79]143.69]
]0.000/]]-0.000000000000000000000000000000000000000000000000000044]8\00\00\07Ú\00\00Õ²\00\00\07P27\00\00\07Ú\00\00i]-0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000999995+']-49999992%(000000000000000000.0]-989074999997704800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0]-999992%(0000000000000000000000.0]]]Ú\00\00]*00000015056480000000000000000000000000000000000000000000000000000000000.0]-92%'9999)).'000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0]-;24944999992%(000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0]-81%-999994;2475200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0]]-97704751999992%(00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0]
前两行没问题。其余的似乎是损坏的数据。我不知道数据是如何出现在这里的,因为它没有出现在 select 语句中。
我只导出了受影响的表,并发现那里有相同的数据。我寻找了一个匹配所有行的过滤器,我在另一个导出中使用了它。这次不存在损坏的数据。
知道这背后的原因可能是什么吗?
最好的问候亚瑟