Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java OracleDB

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

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の発行結果が表示される。


データベースのテーブルを直接照会した結果と一致しています。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Java, OracleDB

執筆者:


comment

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

関連記事

サーバサイドJava(JSP&サーブレット)における画面遷移の手法とそのサンプルコードの紹介

(0)目次&概説 (1) 画面遷移の代表手法  (1-1) フォワード  (1-2) リダイレクト (2) 画面遷移手法のご紹介  (2-1) 方法1:formタグ+Submitボタン(JSP/Ser …

Javaのラッパークラスとは?使い方や一覧をご紹介

<目次> (1) Javaのラッパークラスとは?使い方や一覧をご紹介  (1-1) ラッパークラスとは?  (1-2) 構文(オブジェクト生成)  (1-3) 代表的なメソッド(Integerを例に) …

OracleDB11g で新規表領域とスキーマの作成

(0) 目次 (1) 表領域の作成 (2) スキーマの作成 (3) スキーマの接続権限を付与 (4) 用語解説 (1) 表領域の作成 表領域とデータベースファイル(dbf)を以下のコマンドで作成します …

JFreeChartの折れ線グラフ(LineChart)をより綺麗に見せるための11個のテクニック

(0)目次&概説 (1) 記事の目的 (2) LineChartの表示改善  (2-1)【線】線の太さを変更  (2-2)【線】各シリーズ(Series)毎に折れ線の色を設定  (2-3)【線】各シリ …

JavaのDequeの概要や使い方+サンプルプログラムもご紹介

<目次> (1) JavaのDequeの概要や使い方+サンプルプログラムもご紹介  (1-1) Dequeとは?  (1-2) Dequeを実装したクラス  (1-3) Dequeの使い方  (1-4 …

  • English (United States)
  • 日本語
Top