1

こんにちは、JDBC を使用して Oracle への接続を確立しようとしています。

私は Win 7 x86 で、Oracle 10g R2 XE、Eclipse Java EE Juno、および Java SE v1.7 を実行しています。以前に ojdbc.jar を使用すると、データベースへの接続中にエラーが発生していたため、classes.12.jar と ojdbc5.jar の両方を WebContent/WEB-INF/lib に含めました。そのため、どのドライバーを含めればよいか正確にはわかりません。

私のコードは次のとおりです。

    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)

サムが間違ったことをしている、またはまだ間違ったドライバーを使用している。どちらを含める必要がありますか?

編集

URLも試しました:

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 の両方を使用しますが、使用しません。:'(

4

1 に答える 1

0

URL が間違っているようです。

そして、あなたが言及しているojdbc5.jarのは、より良い使用すべきですojdbc6.jar

Jar は次の場所にあります。

$ORACLE_HOME/jdbc/lib/ojdbc6.jar

このようにしてください: -

Connection conn = null;
String driverName = "oracle.jdbc.driver.OracleDriver";

また

String driverName = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@//localhost:1521/xe";

Class.forName(driverName);
conn = DriverManager.getConnection(url, "system", "mypassword");
于 2013-02-02T04:58:28.413 に答える