Rainbow Planet (GT×IT×SP×SA)

本ブログではIT技術を分かりやすく簡潔にまとめ伝える事で効率的な学習の支援を目指します。

01_IT技術 (Technology) 02_OracleDB 03_Java

APサーバ(Java)⇒DBサーバ(OracleDB 11g)へJDBC接続する方法まとめ

投稿日:2018年8月26日 更新日:




(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
IT0027_(2)_1_DB_JDBCdownload

a.「ojdbc-full.tar.gz」を選択します。

IT0027_(2)_2_DB_JDBCdownload

b.Oracleのサイトにサインインします。

IT0027_(2)_3_DB_JDBCdownload

(2-2) JDBCドライバーをダウンロード

a.ダウンロードしたドライバ「ojdbc-full.tar.gz」をサーバ上の任意のパスにアップロードする

SSH SCP機能を使って転送します。
メニューから「ファイル(F)」⇒「SSH SCP」を選択します。
今回の私の例では、サーバ上の「/usr/local/src/」にアップロードしています。
IT0027_(2)_4_DB_JDBCdownload

IT0027_(2)_5_DB_JDBCdownload

b.アップロードが完了したら、以下のコマンドでファイルを解凍する
tar xfvz ojdbc-full.tar.gz

IT0027_(2)_6_DB_JDBCdownload

目次にもどる

(3)  プログラムの実装

(3-1)  新規プロジェクトの作成

a. メニューから「File」⇒「New」⇒「Project」の順番で選択する。

IT0027_(3)_1_DB_CreateClass_DBconn

b.「Java Project」を選択して「Next」を押下IT0027_(3)_2_DB_CreateClass_DBconn
c.「Project Name」に任意の名前を入力し、「Add project to working sets」にチェックをして「Next」を押下する。

IT0027_(3)_3_DB_CreateClass_DBconn

d. 「Libraries」のメニューを選択する

IT0027_(3)_4_DB_CreateClass_DBconn

e. 選択肢から「Add External JARs」を選択する。

IT0027_(3)_5_DB_CreateClass_DBconn
IT0027_(3)_6_DB_CreateClass_DBconn

f. アップロードしたjdbcドライバ(ojdbc6.jar)がある階層まで移動し、「ojdbc6.jar」を選択する。

IT0027_(3)_7_DB_CreateClass_DBconn

g. 完了したら「finish」を押下する。

IT0027_(3)_8_DB_CreateClass_DBconn

h. プロジェクトが追加された事を確認する。

IT0027_(3)_10_DB_CreateClass_DBconn
目次にもどる

(3-2)  Class作成 (DB接続用)

a. 「src」を右クリック⇒「New」⇒「Class」の順番で押下する。

IT0027_(4)_1_DB_CreateClass_DBconn

b. 「Package」に任意のパッケージ名を入力し、「Name」にJavaファイルの名前を入力したら「Finish」を押下する。

IT0027_(4)_2_DB_CreateClass_DBconn

c. 空のJavaファイルが作成された事を確認する。

IT0027_(4)_3_DB_CreateClass_DBconn

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();
}
}
}

IT0027_(4)_4_DB_CreateClass_DBconn
目次にもどる

(3-3)  Class作成 (Mainメソッド)

a. 「src」を右クリック⇒「New」⇒「Class」の順番で押下する。

IT0027_(5)_1_DB_CreateClass_DBconn

b. 「Package」に任意のパッケージ名を入力し、「Name」にJavaファイルの名前を入力したら「Finish」を押下する。

IT0027_(5)_2_DB_CreateClass_DBconn

c. 空のJavaファイルが作成された事を確認する。

IT0027_(5)_3_DB_CreateClass_DBconn

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サーバにログインする。

IT0027_(6)_1_DB_FirewallSetting

b. rootにスイッチし、「iptables」をVIエディタを使い「編集モード」で開く

IT0027_(6)_2_DB_FirewallSetting
IT0027_(6)_3_DB_FirewallSetting

c. 行の追加が出来たら「Esc」を押下し、「:wq!」を入力して保存する。

IT0027_(6)_4_DB_FirewallSetting

d. iptablesを再起動する

IT0027_(6)_5_DB_FirewallSetting
目次にもどる

(5) 疎通確認

a. プロジェクトを右クリックし、「Run As」で「1 Java Application」を選択する

IT0027_(7)_1_DB_TestRun

b. 「(3-3)」で作成したMainメソッドを選択する(私の場合「application」パッケージの「JDBCoperator.java」を選ぶ)。

IT0027_(7)_2_DB_TestRun

c. 「Console」の窓にSQLの発行結果が表示される。

IT0027_(7)_3_DB_TestRun
データベースのテーブルを直接照会した結果と一致しています。
IT0027_(7)_4_DB_TestRun
以上です、読んで頂きありがとうございました。
目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology), 02_OracleDB, 03_Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

SQL Developer接続エラーへの対処(ORA-12514, ORA-12505)

SQL Developer接続エラーへの対処 今回はSQL Developerを起動し、SYSTEMユーザで接続する際に発生したエラーの対処法について記載します。 目次  >>前提条件   …

Linuxで日本語が文字化けした時の対処法

Linuxのテキスト入力等で日本語が文字化けした時の対処方法を紹介します。 (0)目次&概説 (1) 障害・不具合の概要 (2) 文字化けの対処法 (3) 解説(文字コードについて) (1) 障害・不 …

Linux:定期的に再起動するスクリプト

定期的にリブートするシェルスクリプトの作成について。 1.usr/bin の直下にreboot.shを作成 cd /usr/bin vi reboot.sh 2.以下のコマンドを記述 …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その2)_★IT0011/★IT0013/★IT0014

目次 >>概要(4.インストーラの進行) >>4-1.セキュリティUpdate構成 >>4-2.インストールオプション選択 >>4-3.Gridインスト …

Linux基礎コマンド(第4回) viエディタの操作・ログの取得

初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。本記事はその第4弾で、viエディタの使い方を簡単に紹介します。第1弾の記事はこち …

Top