使用达梦8数据库导入现有库中的ST_GEOMETRY类型数据,查看数据时提示<failed to load>

java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 1395543885 out of bounds for byte[84]

at java.base/java.lang.System.arraycopy(Native Method)

at dm.jdbc.util.ByteUtil.getBytes(ByteUtil.java:239)

at dm.jdbc.b.p.objBlob_GetChkBuf(TypeData.java:1018)

at dm.jdbc.b.p.objBlobToObj(TypeData.java:1035)

at dm.jdbc.a.a.b(DB2J.java:1425)

at dm.jdbc.driver.DmdbResultSet.do_getObject(DmdbResultSet.java:871)

at dm.jdbc.driver.DmdbResultSet.do_getObject(DmdbResultSet.java:773)

at dm.jdbc.driver.DmdbResultSet.getObject(DmdbResultSet.java:2565)

in JdbcHelperImpl.getObject(JdbcHelperImpl.java:318)

这个问题可能是由于达梦数据库在处理geometry类型的字段时出现了问题。你可以尝试以下方法来解决这个问题:

1. 检查你的达梦数据库版本是否支持geometry类型。如果不支持,你可能需要升级到更高版本的达梦数据库。

2. 检查你的导入数据是否正确。确保你的数据是有效的geometry类型数据。

3. 尝试使用其他工具或方法将数据从PostgreSQL迁移到达梦数据库。例如,你可以先将数据导出为WKT(Well-Known Text)格式,然后使用达梦数据库的导入工具将数据导入到达梦数据库中。

4. 如果以上方法都无法解决问题,你可能需要联系达梦数据库的技术支持寻求帮助。


 您阅读本篇文章共花了: