我正在使用jdbc連接到Oracle 10g數據庫。在Eclipse/Java中構建連接可以正常工作。然而,當我的代碼移動到一個Lotus 8.5.2劑我結束了以下錯誤(S):JDBC Lotus-Oracle錯誤:Java.lang.ArrayIndexOutOfBoundsException:數組索引超出範圍:-1
Java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1
at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:1019)
at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:186)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:354)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:454)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:802)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:298)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:222)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:166)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
這是用於連接的代碼:
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@:xx.xx.xx.xx:1521:xx", "xx", "xx");
我試圖以不同的方式解決這個問題: - 使用Lotus JVM在eclipse - 在Eclipse中使用 不同的JDBC罐子 - 用不同的方式來構建在Lotus 連接 - 蓮花使用不同的JDBC瓶瓶
最後我移動了ojdbc14.jar文件Lotus \ Notes \ jvm \ lib \ ext目錄,現在它工作正常。 這個解決方案可以工作,但顯然我更喜歡將這個jar和nsf一起發佈。我能做到這一點嗎?
如leyrer所示。我嘗試添加以下行到「/jvm/lib/security/java.policy」文件
permission java.security.AllPermission;
這並不在相同的錯誤消息的結果。 現在我會堅持把ojdbc5.jar放在/ ext目錄下。
只是我的好奇心JDBC驅動程序使用的是這對LotusNotes,LotusDomino,因爲我知道, IBM長時間不支持用於LotusFamily的JDBC驅動程序 – mKorbel
ojdbc14.jar類與Oracle站點中的JDK 1.4和1.5一起使用。我也嘗試了ojdbc5.jar。 –
成像,不知道是否代理支持來自外部的JDBC,從Domino方面你可以做到這一點,有趣的我會標記爲通知 – mKorbel