为什么我会从SAP HANA JDBC驱动程序中获取java.lang.ArrayIndexOutOfBoundsException?
问题描述:
我配置我的连接池如下:为什么我会从SAP HANA JDBC驱动程序中获取java.lang.ArrayIndexOutOfBoundsException?
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在stacktrace让我觉得可能有一些无效的字符,如“在那里
+0
看起来像这是我们的问题,谢谢! – 2014-10-06 13:09:48
我唯一的想法是在您的代码中搜索数字10 ... – kiwixz 2014-10-02 20:36:33
错误不是来从我的代码... – 2014-10-02 20:44:35