java - 为什么我会从 SAP HANA JDBC 驱动程序收到 java.lang.ArrayIndexOutOfBoundsException?

标签 java jdbc hana

我按如下方式配置连接池:

dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:sap://********:30015");
dataSource.setDriverClassName("com.sap.db.jdbc.Driver");
dataSource.setMaxActive(20);
dataSource.setMaxIdle(0);
dataSource.setMaxIdle(0);
dataSource.setUsername("*******");
dataSource.setPassword("*******");

但是,当连接初始化时,我收到此异常:

java.lang.ArrayIndexOutOfBoundsException: 10
        at com.sap.db.util.StructuredBytes.putBigUnicode(StructuredBytes.java:568)
        at com.sap.db.util.MemIndirection.putBigUnicode(MemIndirection.java:186)
        at com.sap.db.jdbc.packet.DataPartAuthentication.putBigUnicode(DataPartAuthentication.java:192)
        at com.sap.db.util.security.AuthenticationManager.addClientProofPart(AuthenticationManager.java:139)
        at com.sap.db.util.security.AbstractAuthenticationManager.connect(AbstractAuthenticationManager.java:39)
        at com.sap.db.jdbc.ConnectionSapDB.openSession(ConnectionSapDB.java:586)
        at com.sap.db.jdbc.ConnectionSapDB.doConnect(ConnectionSapDB.java:436)
        at com.sap.db.jdbc.ConnectionSapDB.<init>(ConnectionSapDB.java:195)
        at com.sap.db.jdbc.ConnectionSapDBFinalize.<init>(ConnectionSapDBFinalize.java:13)
        at com.sap.db.jdbc.Driver.connect(Driver.java:255)
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
        at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
        at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

如您所见,异常位于 SAP HANA JDBC 驱动程序代码深处,而不是我的代码中。但我也不明白在这种情况下我可能做错了什么?

非常感谢任何有关如何调试此问题的帮助和建议。

最佳答案

根据对 AuthenticationManager 的堆栈跟踪引用判断,您确定您的用户名和密码正确吗?另外,堆栈跟踪上的方法名称 putBigUnicode 让我认为可能存在一些无效字符,例如“其中

关于java - 为什么我会从 SAP HANA JDBC 驱动程序收到 java.lang.ArrayIndexOutOfBoundsException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26169190/

相关文章:

java - 当 URL 相似时,Android WebView canGoBack() 返回 false

java - jsp 文件中无法建立 jdbc 连接

java - JDBC 预处理语句 select from table where

sql - 当存储过程结束时,即使嵌套在另一个 SP 中,是否会释放通过 "select for update"获得的锁?

azure - 使用 Azure AD 作为 SAP HANA 中的 IDP 进行 SAML 单点注销

hana - sap hana中提取外键的系统表

Java 5 泛型,如何使该示例正常工作

java.io.StreamCorruptedException : invalid stream header: 4920616D

java - 无法使用 webstart 加载 FXML

java - 在java中设计sql查询存储的最佳方法是什么?