Symfoware

Symfowareについての考察blog

Oracle 11g XEへJava(JDBC)で接続

Oracle 11g XEをインストール。テーブルを作成しました。
Ubuntu Server 16.04にOracle Database Express Edition 11g Release 2をインストール
Oracle 11g XE ユーザー(スキーマ)とテーブルの作成

この環境にJavaからJDBC経由で接続してみます。

以前にも試してみたのですが、すっかり忘れています。
Oracle Database 10g Express Edition JDBCドライバを使用する



JDBCドライバの取得



こちらから取得しました。
JDBC および Universal Connection Pool (UCP)

802_01.png

Oracle 12cのドライバでも問題ないとは思うのですが、一応11gR2のものを選択しました。

802_02.png


「ojdbc6.jar」をダウンロード。
ビルドパスに含めておきます。

Eclipseではこうなりました。

802_03.png




検索サンプル



データベースへの接続と検索のサンプルはこんな感じになります。


  1. package com.fc2.blog68.symfoware;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. public class MainProcess {
  7.     public static void main(String... args) {
  8.         String url = "jdbc:oracle:thin:@192.168.1.101:1521:xe";
  9.         String user = "orauser";
  10.         String pass = "Passw0rd";
  11.         try (Connection con = DriverManager.getConnection(url, user, pass);
  12.                 Statement stmt = con.createStatement();
  13.                 ResultSet rs = stmt.executeQuery("select * from sample");) {
  14.             while (rs.next()) {
  15.                 System.out.println(rs.getInt("id"));
  16.                 System.out.println(rs.getString("val"));
  17.             }
  18.         } catch (Exception e) {
  19.             e.printStackTrace();
  20.         }
  21.     }
  22. }




実行してみると、ちゃんと登録したが検索できました。


1
登録テスト






登録サンプル



データの登録を実行して検索してみます。


  1. package com.fc2.blog68.symfoware;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. public class MainProcess {
  7.     public static void main(String... args) {
  8.         String url = "jdbc:oracle:thin:@192.168.1.101:1521:xe";
  9.         String user = "orauser";
  10.         String pass = "Passw0rd";
  11.         try (Connection con = DriverManager.getConnection(url, user, pass);
  12.                 Statement stmt = con.createStatement();) {
  13.             
  14.             // 登録実行
  15.             stmt.execute("insert into sample (id, val) values (2, 'Javaから登録')");
  16.             
  17.             ResultSet rs = stmt.executeQuery("select * from sample");
  18.             while (rs.next()) {
  19.                 System.out.println(rs.getInt("id"));
  20.                 System.out.println(rs.getString("val"));
  21.             }
  22.         } catch (Exception e) {
  23.             e.printStackTrace();
  24.         }
  25.     }
  26. }




問題なさそうです。


2
Javaから登録
1
登録テスト



関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2017/11/07(火) 23:46:45|
  2. Oracle
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<C#からOracle 11g XEへODP.NETで接続 | ホーム | Oracle 11g XE ユーザー(スキーマ)とテーブルの作成>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/2065-e93131ae
この記事にトラックバックする(FC2ブログユーザー)