@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ドライバでファイルが分かれていますので、それぞれ必要なものをクラスパスに含めてください。)
(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」といったところでしょうか。
場合によって使い分ける必要があります。
したがって通常は「Thin Driver」の方が使い勝手が良いのですが、機能によっては「OCI Driver」にしかサポートされていないものもあります。使い勝手が良いのは「Thin Driver」、高機能なのは「OCI Driver」といったところでしょうか。
場合によって使い分ける必要があります。