0

Oracle 10g Express Edition と Java を接続したいのですが、従った手順は次のとおりです。

次のファイルを使用してクラスパスを構成します。

C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar

C:\Program Files\Java\jdk1.7.0_01\bin

C:\oraclexe\app\oracle\product\10.2.0\server\BIN

次に、次のプログラムを試して OCI ドライバーに接続しました。

import  java.sql.*;

public class OracleOCIConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Native-API (OCI) driver
         Connection con = DriverManager.getConnection("jdbc:oracle:oci8:@","hr","hr" );
         System.out.println("Connected Successfully To Oracle using OCI driver");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

また、Thin ドライバーを使用した場合:

import  java.sql.*;

public class OracleThinConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Thin driver
         Connection con =  DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
         System.out.println("Connected Successfully To Oracle");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

どちらの場合も、プログラムはコンパイルされますが、エラーをスローする行は次のとおりです。

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

何か助けはありますか?ありがとう

4

2 に答える 2

0

まず、C:\Program Files\Java\jdk1.7.0_01\binクラスパスから削除します。それとは何の関係もありません。

次に、ランタイム クラスパスに問題があります。コンパイル時のクラスパスと実行時のクラスパスは 2 つの異なるものであることを忘れないでください。これを実行するために IDE (Eclipse など) を使用していますか? その場合は、どのクラスパス エントリが実行時に有効になるかを確認してください。Eclipse では、アプリケーションを実行するために作成された起動構成を調べることで、この情報を取得できます (「クラスパス」タブを参照)。

コマンドラインからクラスパスを設定した場合、内部の空白Program Filesが問題である可能性があります。クラスパス引数全体を引用符で囲んでみてください。

于 2012-12-03T01:42:55.443 に答える
0

ojdbc14.jar の代わりに ojdb6.jar を使用していますが、問題なく動作します。これが私のコードです

try{
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            String dbAddress = "localhost";
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:hr/hr@"+dbAddress+":1521/XE");

            if(!con.isClosed()){
                System.out.println("Connection Successful");
            }else{
                System.out.println("Connection is Closed);
            }
        }
        catch(Exception ex){
            System.out.println("Error :"+ex.getMessage());
        }
于 2014-03-18T12:15:23.510 に答える