0

// DbConnector.java

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class DbConnector {

    public static void main(String[] argv) {

        System.out.println("-------- Oracle JDBC Connection Testing ------");

        try {

            Class.forName("oracle.jdbc.driver.OracleDriver");

        } catch (ClassNotFoundException e) {

            System.out.println("Where is your Oracle JDBC Driver?");
            e.printStackTrace();
            return;

        }

        System.out.println("Oracle JDBC Driver Registered!");

        Connection connection = null;

        try {

            connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@172.17.119.108:1526:GESSDEV", "username",
                    "password");

        } catch (SQLException e) {

            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;

        }

        if (connection != null) {
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
    }

}

odbc14.jar という名前の jdbc jar があります

javac -classpath odbc14.jar; DbConnector.java

コンパイル成功

java -classpath odbc14.jar; DbConnector

出力 :: -------- Oracle JDBC 接続テスト ------ Oracle JDBC ドライバーはどこにありますか?

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at DbConnector.main(DbConnector.java:13)

これを解決するために私を助けてください

上記の問題を整理しました。今、私は新しい例外を取得しています

-------- Oracle JDBC 接続テスト ------ Oracle JDBC ドライバーが登録されました! 接続に失敗しました!出力コンソールを確認する

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
        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:801)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
4

5 に答える 5

6

で使用するJDBCドライバーojdbc14.jaroracle.jdbc.OracleDriver.

参照: JDBCドライバ・クラスのロード - ojdbc14.jar

于 2013-02-08T10:49:18.513 に答える
1

ojdbc14.jar変数に入れ、<jdk_home>\jre\lib\extADDCLASSPATHすると、コンパイルまたは実行中にクラスパスを指定する必要
がなくなります。Java6 を使用している場合oracle.jdbc.driver.OracleDriverは問題ありませんが、非推奨です。だから使ったほうがいいoracle.jdbc.OracleDriver

于 2013-02-08T10:51:10.827 に答える
0

あなたがすべき

 try {

            Class.forName("oracle.jdbc.OracleDriver");

        }

クラスパスに配置しodbc14.jarます(まだ行われていない場合)

于 2013-02-08T10:53:19.903 に答える