JDBC (Java DataBase Connectivity)


  1. 概要
  2. 使用法
  3. 接続
  4. java プログラムの流れ
  5. エラーについて

概要

Java プログラムからデータベースにアクセスするためのインタフェースで、 JDBC Manager は、JDK1.1 から java にバンドルされている。

JDBC ドライバのタイプは4つある。

type1  java 実行環境に付属している JDBC-ODBC Bridge Driver を使用する方式
type2  JDBC ドライバから特定の DBMS 専用ネイティブドライバを使用する方式
type3  JDBC ネットドライバ方式
type4  特定の DBMS の通信プロトコルを使用するダイレクトドライバ方式

オラクルの場合は、以下の2つの方式をサポートしている。

Jdbc OCI   type2   oracle call interface 用
Jdbc Thin  type4   java applet 用

使用法

以下の環境変数を設定し java プログラムをコンパイルし実行する。

PATH java/javac のあるディレクトリを登録
CLASSPATH classes111.zip,nls_charset11.zip を登録
LD_LIBRARY_PATH    libociXXXjdbc.so のあるディレクトリを登録

接続

  1. oci
    ORACLE_HOME/network/admin/tnsnames.ora に以下の記述があるまたは、 ORACLE_SID が ora805 の場合は、デフォルトで接続できる。

       ora805 =
         (DESCRIPTION =
           (ADDRESS = (PROTOCOL= TCP)(Host= MACO)(Port= 1666))
           (CONNECT_DATA = (SID = ora805)(SERVER=SHARED))
         )
    

  2. thin
    ホスト名:TCP ポート番号:ORACLE_SID の文字列で接続しなければならない。

java プログラムの流れ

  1. jdbc クラスの import
    import java.sql.*;
    import oracle.jdbc.driver.*;
    
  2. jdbc oci ドライバの登録
    DriverManager.registerDriver(new oralce.jdbc.driver.OracleDriver());
    
  3. データベースへの接続
    OracleConnection conn = (OracleConnection) 
    DriverManager.getConnection("jdbc:oralce:oci8:@","scott","tiger");
    

エラーについて

samples のサンプルを実行した時、遭遇する問題に関する対処法です。

  1. LobExample で ORA-22866 がでる件

    ==> 8.0.5 ではでるが、8.1.5 では OK です。

  2. CustomDatumExample/PersonObject/SQLDataExample で 

    java.sql.SQLException: Non supported character set: oracle-character-set-830 が出る件

    ==> CLASSPATH に nls_charset11.zip を追加すれば OK です。