1
您好,我正尝试使用JDBC建立与Oracle的连接。java.lang.ArrayIndexOutOfBoundsException:在连接到Oracle 10g XE时
我在Win 7 x86上运行Oracle 10g R2 XE,Eclipse Java EE Juno和Java SE v1.7。我在WebContent/WEB-INF/lib中包含了classes.12.jar和ojdbc5.jar,因为之前使用ojdbc.jar时它在连接到数据库时发生错误。所以我很难确切地确定我要包含哪些驱动程序。
我的代码是:
Connection conn = null;
String driverName = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
Class.forName(driverName);
conn = DriverManager.getConnection(url, "system", "mypassword"); //exception occurs here
它是在最后一行
java.lang.ArrayIndexOutOfBoundsException: 7
at oracle.security.o3logon.C0.r(C0)
at oracle.security.o3logon.C0.l(C0)
at oracle.security.o3logon.C1.c(C1)
at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper)
at oracle.jdbc.ttc7.O3log.<init>(O3log.java:289)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:251)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectionManager.getConnection(ConnectionManager.java:16)
at ConnectionManager.main(ConnectionManager.java:24)
山姆给予以下异常做错什么,或者还我使用错误的驱动程序。我应该包括哪一个?
编辑
我也试过网址:
String url = "jdbc:oracle:thin:@//localhost:1521/xe";
它给了我以下异常:
java.sql.SQLException: Io exception: Invalid connection string format, a valid format is: "host:port:sid"
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:323)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:260)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnectionManager.getConnection(ConnectionManager.java:17)
at ConnectionManager.main(ConnectionManager.java:25)
我也试着更改驱动器名:
String driverName = "oracle.jdbc.driver.OracleDriver";
没用。
并与ojdbc5.jar,ojdbc6.jar,但没有用。 :'(
谢谢回复一次,我回到家里 – Mahesha999
其实我以前试过。它给了我异常(我现在添加到原始问题)说无效的网址格式,这就是为什么我格式化上述网址。我已经用ojdbc6.jar试过了,没有区别。请参阅我在原始问题中添加的堆栈跟踪,看看你是否能找到任何错误。请帮忙。 – Mahesha999