(0)目次
(1) 前提条件
(2) JDBCドライバーのインストール
(2-1) JDBCドライバーをダウンロード
(2-2) APサーバにアップロード・解凍
(3) プログラムの実装
(3-1) 新規プロジェクトの作成
(3-2) Class作成 (DB接続用)
(3-3) Class作成 (Mainメソッド)
(4) DB側のファイアウォール設定 (iptables)
(5) 疎通確認 (Javaアプリケーションの実行)
(1)前提条件
(1-1) AP側
・Javaの開発環境が構築されていること。
(1-2) DB側
・OracleDBのインストールが完了している事
・接続スキーマ作成とデータ登録が完了してる事
>目次にもどる
(2) JDBCドライバーのインストール
(2-1) JDBCドライバーをダウンロード
私はOracleDBの11gを使用しているため、該当するバーションを選択します。
http://www.oracle.com/technetwork/jp/database/features/jdbc/index-099275-ja.html
a.「ojdbc-full.tar.gz」を選択します。
b.Oracleのサイトにサインインします。
(2-2) JDBCドライバーをダウンロード
a.ダウンロードしたドライバ「ojdbc-full.tar.gz」をサーバ上の任意のパスにアップロードする
SSH SCP機能を使って転送します。
メニューから「ファイル(F)」⇒「SSH SCP」を選択します。
今回の私の例では、サーバ上の「/usr/local/src/」にアップロードしています。
b.アップロードが完了したら、以下のコマンドでファイルを解凍する
tar xfvz ojdbc-full.tar.gz
(3) プログラムの実装
(3-1) 新規プロジェクトの作成
a. メニューから「File」⇒「New」⇒「Project」の順番で選択する。
b.「Java Project」を選択して「Next」を押下
c.「Project Name」に任意の名前を入力し、「Add project to working sets」にチェックをして「Next」を押下する。
d. 「Libraries」のメニューを選択する
e. 選択肢から「Add External JARs」を選択する。
f. アップロードしたjdbcドライバ(ojdbc6.jar)がある階層まで移動し、「ojdbc6.jar」を選択する。
g. 完了したら「finish」を押下する。
h. プロジェクトが追加された事を確認する。
(3-2) Class作成 (DB接続用)
a. 「src」を右クリック⇒「New」⇒「Class」の順番で押下する。
b. 「Package」に任意のパッケージ名を入力し、「Name」にJavaファイルの名前を入力したら「Finish」を押下する。
c. 空のJavaファイルが作成された事を確認する。
d. コーディングを行う。
今回は下記のコードをコピーし利用します(丸数字の箇所は各人の情報で置き換えてください)。内容はDBへの接続・切断を行うメソッドです。完了したら「Ctrl+S」などで保存します。
public class JDBCmanager { // DB Connection Info/DB接続情報 // ① = "HostName"or"IP Address"/「ホスト名」または「IPアドレス」 // ② = "Port Numer"/「ポート番号」 // ③ = "Net Service Name"/「ネットサービス名」 // ④ = "Schema Name"/「スキーマ名」 // ⑤ = "Password of Schema"/「スキーマのパスワード」 private final String jdbc_url = "jdbc:oracle:thin:@[①]:[②]:[③]"; private final String username = "④"; private final String password = "⑤"; /* Connect to Database */ public Connection getConn() throws ClassNotFoundException, SQLException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection(jdbc_url, username, password); System.out.println("Database connection success/DBへの接続が完了しました"); return conn; } /* End Database Connection */ public void close(Connection conn) { try { if(conn != null) { conn.close(); System.out.println("Database connection Ended/DBへの接続を終了しました"); } } catch (SQLException e) { e.printStackTrace(); } } }
(3-3) Class作成 (Mainメソッド)
a. 「src」を右クリック⇒「New」⇒「Class」の順番で押下する。
b. 「Package」に任意のパッケージ名を入力し、「Name」にJavaファイルの名前を入力したら「Finish」を押下する。
c. 空のJavaファイルが作成された事を確認する。
d. コーディングを行う。
今回は下記のコードをコピーし利用します。内容はDBの「ACCOUNT」テーブルへの照会を行うSQLを発行するメソッドです。完了したら「Ctrl+S」などで保存します。
package application; public class JDBCoperator { public static void main(String[] args) { String select = "SELECT * FROM ACCOUNT"; ResultSet rs = null; JDBCmanager dbms = new JDBCmanager(); try(Connection conn= dbms.getConn();){ try(Statement stmt = conn.createStatement();){ rs = stmt.executeQuery(select); while(rs.next()) { System.out.println("ACCOUNT_ID: "+rs.getInt("ACCOUNT_ID")); System.out.println(", BALANCE: "+rs.getInt("AVAIL_BALANCE")); } } } catch (ClassNotFoundException e2) { e2.printStackTrace(); } catch (SQLException e3) { e3.printStackTrace(); } } }
(4) DB側のファイアウォール設定 (iptables)
a. TeraTermからDBサーバにログインする。
b. rootにスイッチし、「iptables」をVIエディタを使い「編集モード」で開く
c. 行の追加が出来たら「Esc」を押下し、「:wq!」を入力して保存する。
d. iptablesを再起動する
(5) 疎通確認
a. プロジェクトを右クリックし、「Run As」で「1 Java Application」を選択する
b. 「(3-3)」で作成したMainメソッドを選択する(私の場合「application」パッケージの「JDBCoperator.java」を選ぶ)。
c. 「Console」の窓にSQLの発行結果が表示される。
データベースのテーブルを直接照会した結果と一致しています。
>目次にもどる