数据从驱动程序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条回答
hongfeng1314
2020-08-24 09:24

不,我在这里没有其他评论。 JDBC驱动程序代码中会发生此错误,在该代码中,它会将来自HANA有线协议的数据重新组合回JAVA数据结构。 为了对此进行分析,该驱动程序的源代码是必需的,但仅对SAP开发人员可用(即对我而言不是)。

在这一点上,我所能建议的只是跟进支持事件,并查看是否仅将fetchSize放在一起将不会导致错误发生。

一周热门 更多>