web-dev-qa-db-ja.com

Oracle 11g&jdk 1.6で使用するjdbc jarと、db自体に接続する方法

Javaでデータベースアクセサーを作成しています。データベースはOracle 11gにありますが、私はまったく馴染みがなく、JDK 1.6を使用しています。

  1. Ojdbc4.jarは私のプログラムに役立ちますか?オフィスでインターネットに接続することは許可されていません。私が読んだojdbc6.jarをダウンロードすることはできません。これは私のセットアップとより互換性があります。
  2. Class.forName(String driver)とDriverManager.getConnection(String connectionURL)にはどのような文字列を入れる必要がありますか?ドライバー文字列と接続URLは(当然ながら)MS SQL Serverのものとは非常に異なっているため、わかりません。
10
Matthew Quiros
  1. OracleはJarとOracleクライアントまたはサーバーのインストールをバンドルしており、$Oracle_HOME/jdbc/lib/ojdbc6.jarにあります。私はいつもそれを使います。

  2. ドライバーのクラス名はOracle.jdbc.OracleDriverで、URLはjdbc:Oracle:thin:@//[Host][:PORT]/SERVICEです。

以下に例を示します( here から取得):

import Java.sql.*;
class Conn {
  public static void main (String[] args) throws Exception
  {
   Class.forName ("Oracle.jdbc.OracleDriver");

   Connection conn = DriverManager.getConnection
     ("jdbc:Oracle:thin:@//localhost:1521/orcl", "scott", "tiger");
                        // @//machineName:port/SID,   userid,  password
   try {
     Statement stmt = conn.createStatement();
     try {
       ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
       try {
         while (rset.next())
           System.out.println (rset.getString(1));   // Print col 1
       } 
       finally {
          try { rset.close(); } catch (Exception ignore) {}
       }
     } 
     finally {
       try { stmt.close(); } catch (Exception ignore) {}
     }
   } 
   finally {
     try { conn.close(); } catch (Exception ignore) {}
   }
  }
}
18
trojanfoe

JDK 1.6と組み合わせた公式のJARファイルはojdbc6.jarです。ただし、ojdbc4.jarはほとんどのアプリケーションで機能します。

一般的な接続文字列は次のとおりです。

jdbc:Oracle:thin:user/xxxx@server:port:SID
jdbc:Oracle:thin:user/xxxx@//server:port/XE
jdbc:Oracle:thin:user/xxxx@:SID
6
Codo