@WIKI

Oracleへの接続

最終更新:

atyou

- view
管理者のみ編集可
Oracleは
  • Oracle JDBC OCI Driver
  • Oracle JDBC Thin Driver
の2種類のJDBCドライバを提供しています。

どちらのドライバを使用する場合でも、Oracleのインストールディレクトリの「jdbc/lib」にある「classes111.zip」か「classes12.zip」(前者はJDK1.1用。後者はJava2用)をクラスパスに含める必要があります。
(Oracle 9iではThinドライバとOCIドライバでファイルが分かれていますので、それぞれ必要なものをクラスパスに含めてください。)

1.Oracle JDBC OCI Driver


「Oracle JDBC OCI Driver」は「Oracle Call Interface(OCI)」を使用してOracleデータベースに接続します。このため実行時にOCIのライブラリ(インストールディレクトリの「lib」以下)が必要で、実質的にOracle Clientがインストールされているマシンでしか使用することができません。実行時にはライブラリのあるディレクトリを、「java.library.path」という環境変数か、Linuxの場合は「LD_LIBRARY_PATH」環境変数に設定する必要があります。

Oracleデータベースへの接続方法はPostgreSQLでの方法とほぼ同じです。まず最初にJDBCドライバをロードします。

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

次に接続するデータベースを指定します。

Connection connection=DriverManager.getConnection("jdbc:oracle:oci8:@oracle.techscore","scott","tiger");

引数の1つ目はデータベースのURL、2つ目がユーザ名、3つ目がパスワードです。データベースのURLはOCI Driverの場合

jdbc:oracle:oci8:@(tnsnames.oraに登録されているデータベースサービス名)

になります。予め「tnsnames.ora」設定ファイルにデータベースが登録されている必要があります。

2.Oracle JDBC Thin Driver


「Thin Driver」はクライアントライブラリを使用せず、Net8プロトコルを用いて直接Oracleデータベースに接続するタイプのJDBCドライバです。クラスライブラリだけで動作する事ができるので、Oracle Clientがインストールされていないマシンでも動作させる事が可能です。。

Oracleデータベースへの接続方法は、「OCI Driver」とほぼ同じです。

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection=DriverManager.getConnection("jdbc:oracle:thin:@dbserver:1521:oracle","scott","tiger");

「getConnection」の第1引数の形式だけが異なります。

jdbc:oracle:thin:@(ホスト名):(ポート番号):(接続するデータベースのSID)

「OCI Driver」はJDBCタイプ2、「Thin Driver」はJDBCタイプ4のドライバです。
したがって通常は「Thin Driver」の方が使い勝手が良いのですが、機能によっては「OCI Driver」にしかサポートされていないものもあります。使い勝手が良いのは「Thin Driver」、高機能なのは「OCI Driver」といったところでしょうか。
場合によって使い分ける必要があります。

人気記事ランキング
目安箱バナー