数据从驱动程序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条回答
哎,真难
2020-08-24 09:18

Lars美好的一天。

出于政治考虑,我有点忙,我想告诉你,到目前为止,跟踪文件一直没有用。 我们可以找到解决问题的方法。

另一方面,我确认您确认数字7028547对应于数组的索引。 在其他测试中,fetchSize的值为250000条记录,因为resultSet为1000000条记录。

例如,我刚刚使用另一个数据集和默认的fectchsize执行了另一个测试,结果是:

java.lang.ArrayIndexOutOfBoundsException:90958
在com.sap.db.util.ByteUtils.getUByte(ByteUtils.java:38)
在com.sap.db.jdbc.packet.HPart.getUByte( HPart.java:62)
com.sap.db.jdbc.packet.HDataPart._getFieldLengthFromDataLengthIndicator(HDataPart.java:1127)
com.sap.db.jdbc.packet.HDataPart._getFieldLength(HDataPart。 java:1101)
com.sap.db.jdbc.packet.HDataPart._nextField(HDataPart.java:1033)
com.sap.db.jdbc.packet.HDataPart.moveToField(HDataPart.java: 304)
com.sap.db.jdbc.ResultSetSapDB._getDataPart(ResultSetSapDB.java:4861)
com.sap.db.jdbc.ResultSetSapDB.getNString(ResultSetSapDB.java:3370)

您有什么意见吗?

致谢。

一周热门 更多>