Java 正在使用进度数据库获取StringIndexOutOfBounds异常

Java 正在使用进度数据库获取StringIndexOutOfBounds异常,java,relational-database,Java,Relational Database,当我试图从Progress数据库检索数据时,出现以下异常 Exception::java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1768) at com.progress.sql.jdbc.JdbcProgressResultSet.reWordAsCountQuery(JdbcProgressResultS

当我试图从Progress数据库检索数据时,出现以下异常

  Exception::java.lang.StringIndexOutOfBoundsException: String index out of range: -1
 at java.lang.String.substring(String.java:1768)
 at com.progress.sql.jdbc.JdbcProgressResultSet.reWordAsCountQuery(JdbcProgressResultSet.java:6634)
 at com.progress.sql.jdbc.JdbcProgressResultSet.calculateRowCount(JdbcProgressResultSet.java:6427)
 at com.progress.sql.jdbc.JdbcProgressResultSet.initialize(JdbcProgressResultSet.java:157)
 at com.progress.sql.jdbc.JdbcProgressStatement.getResultSet(JdbcProgressStatement.java:435)
 at com.progress.sql.jdbc.JdbcProgressPreparedStatement.executeQuery(JdbcProgressPreparedStatement.java:97)
 at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
 at com.esb.service.DBService.handleStatement(DBService.java:992)
我注意到的一件事是,如果我在查询的开头或结尾放一个空格,查询就可以正常工作了,但我觉得这很奇怪。 谁能帮我解决这个问题。
提前感谢。

鉴于此,看起来您基本上需要更新到更高版本。

另外,请查看字符串索引超出范围:-1,该字符串索引在翻译从进度数据库检索数据的SQL映射时收到,映射中的SQL语句不返回结果集。(SCI92727):感谢Matthew的回复。正如您所提到的,当结果集为空时,就会看到这个问题。在这里,我想知道必须使用哪个组件的更新版本。这将是应用于数据库的修补程序吗?从页面上看:这已在4.0 SP3修补程序20及更高版本和4.1修补程序16及更高版本中更正。我可以想象,它将应用于JDBC驱动程序,客户机jar中也是如此。除此之外,我不知道。抱歉。感谢Matthew提供的信息。我将尝试更新客户端jar。感谢Jon的回复。更新意味着用于连接进度数据库的jar必须更新?@user954419:老实说,我对进度了解不够,但这听起来很有可能。