数据从驱动程序JDBC转换到SAP HANA数据库时出错。

2020-08-24 09:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)美好的一天。 当前,我们有一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


美好的一天。

当前,我们有一个JAVA应用程序,可从数据库中通过驱动程序JDBC ngdbc-2.4.67.jar获取数据

SAP HANA 2.00.044.00.1571081837。 在大多数情况下,当应用程序正在读取数据并且将这些格式从二进制格式转换为字符串,int或十进制格式时,会出现错误,指示数组溢出。 下一个有关此问题的细节:

原因:java.lang.ArrayIndexOutOfBoundsException:7028547

com.sap.db.util.ByteUtils.getUByte(ByteUtils.java:38)〜[ngdbc-2.4 .67.jar!/:2.4.67-3028d4615dae104ed3de580c64399b376bf8d7c4]

com.sap.db.jdbc.packet.HPart.getUByte(HPart.java:62)〜[ngdbc-2.4.67.jar! /:2.4.67-3028d4615dae104ed3de580c64399b376bf8d7c4]

在com.sap.db.jdbc.packet.HDataPart._getFieldLengthFromDataLengthIndicator(HDataPart.java:1127)〜[ngdbc-2.4.67.jar!/:2.467。 -3028d4 \

615dae104ed3de580c64399b376bf8d7c4]
在com.sap.db.jdbc.packet.HDataPart._getFieldLength(HDataPart.java:1101)〜[ngdbc-2.4.67.jar!/:: 2.4.67-3028d4615dae104ed3de580c64399 \
b376bf8d7c4]
在com.sap.db.jdbc.packet.HDataPart._nextField(HDataPart.java:1033)〜[ngdbc-2.4.67.jar !/:2.4.67-3028d4615dae104ed3de580c64399b376b \

f8d7c4]

在com.sap.db.jdbc.packet.HDataPart.nextRecord(HDataPart.java:281)〜[ngdbc-2.4。 67.jar!/:2.4.67-3028d4615dae104ed3de580c64399b376bf \

8d7c4 ]

com.sap.db.jdbc.FetchChunk.nextRow(FetchChunk.java:111)〜[ngdbc-2.4.67.jar!/:2.4.67-3028d4615dae104ed3de580c64399b376b376bf8d7c4]

在com.sap.db.jdbc.ResultSetSapDB._next(ResultSetSapDB.java:4624)〜[ngdbc-2.4.67.jar!/:2.4.67-3028d4615dae104ed3de580c64399b376bf8 \

d7c4]

> com.sap.db.jdbc.ResultSetSapDB.next(ResultSetSapDB.java:157)〜[ngdbc-2.4.67.jar!/:2.4.67-3028d4615dae104ed3de580c64399b376bf8d7 \

c4]

有人可以帮助我解决这个问题吗?

问候。

10条回答
Alawn_Xu
2020-08-24 09:26

非常感谢您的答复。

为了弄清楚一些事情,有效地,我实现了一种机制来分页数百万条记录并避免消耗大量JVM的内存。 到目前为止,我对参数没有任何疑问,可以在所请求的每个页面中获取信息。 为了控制这一点,我在查询中使用了参数" limit"和" offset"。

另一方面,我意识到测试改变了应用程序如何连接数据库的实现,我的意思是,我仅使用API​​ Java JDBC(不使用Spring JDBC模板),结果却完全相同(由以下原因引起: java.lang.ArrayIndexOutOfBoundsException:7028547)。 此外,通过使用Spring JDBC模板的实现,我实现了一个测试,而没有指定获取值,换句话说,使用默认值,但是我遇到了同样的问题。

最后,我想提到这个问题已经报告过,但是直到现在还没有解决。

预先,谢谢您的建议。

致谢。