• 検索結果がありません。

JDBCアクセス

N/A
N/A
Protected

Academic year: 2021

シェア "JDBCアクセス"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

JDBC アクセス

(2)

目 次 1 プロジェクト概要 2 ソフトウエア 2.1 対象NXJバージョン 2.2 アプリケーションサーバ 2.3 使用プロジェクト 2.4 データベース 3 実行環境設定手順 3.1 プロパティ設定 3.2 データベース接続設定 3.3 データベーステーブル作成 3.4 プロジェクトをMake 4 機能解説 4.1 forms.statement.oracleパッケージ 4.1.1 NXJJDBCSelect1 フォーム 4.1.2 JDBCSelect2 フォーム 4.1.3 JDBCUpdatetフォーム 4.1.4 JDBCInsertフォーム 4.1.5 JDBCDeleteフォーム 4.2 forms.prepared.oracleパッケージ 4.2.1 JDBCPrepareSelect1 フォーム 4.2.2 JDBCPrepareSelect2 フォーム 4.2.3 NXJJDBCPrepareUpdatetフォーム 4.2.4 NXJJDBCPrepareInsertフォーム 4.2.5 NXJJDBCPrepareDeleteフォーム 4.3 forms.procedure.oracleパッケージ 4.3.1 JDBCCallINParamフォーム 4.3.2 JDBCCallOUTParamフォーム 4.3.3 NXJJDBCCallINAndOUTParamフォーム 4.3.4 JDBCCallIN_OUTParamフォーム 4.3.5 NXJJDBCCallINParamReturnValueフォーム 4.3.6 NXJJDBCCallNoParamReturnCursorフォーム 4.4 Dbutilクラス 4.4.1 getJDBCConnectionForOracle()メソッド 5 実行手順 5.1 アプリケーションサーバの起動 5.2 プロジェクトの配備及び実行 付録A プロジェクトプロパティ クラスパスパネル 付録B Oracle Connection設定例 付録C ツールバー 実行ボタン 付録D ツールバー 実行ボタン フォームリスト表示

(3)

1 プロジェクト概要 NXJ は、スクリプトでコーディングしてデータベーステーブルにアクセスするような場合、EXEC SQL 文を 使用します。 ですが、JDBC 接続を利用してデータベーステーブルをアクセスすることも可能です。 このプロジェクトは、EXEC SQL 文を使用しない JDBC 接続を利用してテーブル操作とストアド・プロシー ジャの呼び出しを行うサンプルフォーム集です。

(4)

2 ソフトウエア 2.1 対象 NXJ バージョン NXJ 10.5D 以降 2.2 アプリケーションサーバ JBoss アプリケーションサーバ (NXJ バンドル版) 2.3 使用プロジェクト プロジェクト名称 JDBCAccess [プロジェクト構成] JDBCAccess.prj プロジェクト設定ファイル databases フォルダ データベーススクリプト格納フォルダ sources フォルダ NXJ 開発ソースファイル格納フォルダ 以下のフォルダは、Make を実行時に作成されるフォルダです。 output フォルダ J2EE アプリケーションアーカイブファイル格納フォルダ temp フォルダ 一時ファイル格納フォルダ プロジェクトは、NXJ アプリケーションデザイナを使ってプロジェクト設定ファイルを開きます。 2.4 データベース Oracle 9i データベース

(5)

3 実行環境設定手順 プロジェクトをMake&配備し、フォームを実行する前の設定及び確認項目を以下に示しています。 NXJ アプリケーションデザイナは、Windows スタートメニューから、 [プログラム]->[Unify NXJ]->[アプリケーションデザイナ]を選択することで起動します。 3.1 プロパティ設定 (1) application.properties application.properties ファイルにある以下のプロパティにデータベース接続に関する設定を行いま す。 このプロジェクトは、Oracle データベースを利用する設定を行います。 プロパティ名 設定値 DB_SERVER データベースサーバホスト名 DB_PORT データベースサーバポート番号 DB_NAME データベース名 SID DB_USER データベースユーザ名 DB_PASSWORD データベースパスワード (2) プロジェクトプロパティ クラスパスパネルに、Oracle JDBC ドライバクラスを追加します。 この設定は、oracle.jdbc.OracleTypes を利用する為に設定します。 参照 付録A プロジェクトプロパティ クラスパスパネル

(6)

3.2 データベース接続設定

このプロジェクトの Connections に作成している OracleConnection の設定してデータベース接続を 確認します。

Oracle Oracle データベース接続用 Connection 定義 [例] Oracle Connection を利用する場合 Oracle Connection を開いて、以下の情報を入力します。 タイプ Oracle になっていることを確認します。 Jar/Zip ファイル ojdbc14.jar ファイルが選択されていることを確認します。 ユーザ名 Oracle データベースに接続するユーザ名を指定します。 パスワード ユーザ名に対するパスワードを指定します。 実行時のデータソース Oracle になっていることを確認します。 ホスト Oracle データベースサーバのホスト名を指定します。 ポート Oracle データベースがリスンしているポート番号を指定します。 SID 接続するデータベースのSID を指定します。 このコネクションをデフォルトにする チェックボックスをチェックします。 上記設定を行った後、テストボタンをクリックして接続が成功することを確認し、OK ボタンをクリ ックして設定を終了します。 参照 付録B Oracle Connection設定例

(7)

3.3 データベーステーブル作成 プロジェクトの databases フォルダにあるスクリプトを使ってデータベーステーブルとテストデータ を作成します。 [例] Oracle Connection を使用する場合 Oracle.sql スクリプトにあるテーブルとテストデータを作成します。 3.4 プロジェクトを Make NXJ アプリケーションデザイナのメニューバーから[プロジェクト]->[すべて Make]を選択し、プロジ ェクトをMake し、エラー無く終了することを確認しておきます。

Make を実行するとプロジェクトから J2EE アプリケーションアーカイブファイルの EAR または、 ZIP ファイルを生成します。

(8)

4 機能解説 これらのフォームは、NXJ の機能 EXEC SQL 文を使わないで SELECT,UPDATE 文や、ストアド・プロ シージャ等を呼び出すサンプルフォームです。 4.1 forms.statement.oracle パッケージ JDBC を利用してテーブルをアクセスするフォームを格納したパッケージです。 このパッケージは、静的SQL 文を使用してデータベースアクセスするフォームです。 4.1.1 NXJJDBCSelect1 フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードを静的 SQL で検索する フォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection クラス Oracle から獲得する方法で JDBC 接続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 [例] Oracle Connection から獲得

NXJDataConnection Nconn1 = session.getConnection("Oracle"); Connection conn1 = Nconn1.getJdbcConnection();

(2) BEFORE FORM セクション

NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。

[例] Connection Oracle から JDBC 接続を獲得

NXJDataConnection Nconn1 = session.getConnection("Oracle"); Connection conn1 = Nconn1.getJdbcConnection();

(3) CreateSQL コマンド JDBC_ACCESS テーブルのレコードを検索する SQL 文の文字列を作成しています。 このSQL 文を作成した時点で、検索条件が決まります。 (4) ExecSQL コマンド 検索SQL 文を実行します。 検索の実行は、JDBC executeQuery() メソッドを呼び出すことで実行し、検索結果を ResultSet で受け取り、検索結果をフォームのテキストフィールドに表示しています。

(9)

4.1.2 JDBCSelect2 フォーム

このフォームは、JDBC 接続を利用してデータベーステーブルのレコードを静的 SQL で検索する フォームです。

NXJJDBCSelect1 フォームとは、JDBC Connection の獲得方法と ResultSet の扱いが異なります。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法とは別の方法 で行っています。 Oracle JDBC ドライバクラスをロードし、DriverManager.getConnection()メソッドから JDBC 接続を獲得しています。 (2) getJDBCConnection()メソッド このメソッドは、Oracle JDBC ドライバクラスから JDBC Connection を獲得するメソッドで す。 このメソッドから獲得する JDBC Connection は、NXJ プロジェクトで定義している Connection Oracle の設定とは関係なく JDBC Connection を獲得します。

このメソッドは、NXJ プロジェクトの application.properties ファイルに設定しているプロ パティ設定値を元に作成します。 [Oracle 用] プロパティ名 設定値 DB_SERVER データベースサーバホスト名 DB_PORT データベースサーバポート番号 DB_NAME データベース名(SID) DB_USER データベースユーザ名 DB_PASSWORD パスワード [メソッド構文]

public static Connection getJDBCConnection(NXJSession session) throws SQLException, ClassNotFoundException ●引数 session NXJSession オブジェクト ●例外 SQLException ClassNotFoundException [例]

Connection conn1 = getJDBCConnection(session); (3) BEFORE FORM セクション

(10)

(4) CreateSQL コマンド JDBC_ACCESS テーブルのレコードを検索する SQL 文の文字列を作成しています。 このSQL 文を作成した時点で、検索条件が決まります。 (5) ExecSQL コマンド 検索SQL 文を実行します。 検索の実行は、JDBC executeQuery() メソッドを呼び出すことで実行し、検索結果を ResultSet で受け取ります。 検索結果を EXEC SQL ITERATE 文を使ってテキストフィールドコントロールにセットして います。

(11)

4.1.3 JDBCUpdatet フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードを静的 SQL で更新する フォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle() メ ソ ッ ド を 呼 び 出 し 獲 得 し た JDBC 接 続 か ら Statement を作成しています。

[例] Connection Oracle から獲得した JDBC 接続から Statement を獲得

Statement st = DbUtil.getJDBCConnectionForOracle(session).createStatement(); (3) CreateSQL コマンド JDBC_ACCESS テーブルのレコードを更新する SQL 文の文字列を作成しています。 このSQL 文を作成した時点で、更新条件が決まります。 (4) ExecSQL コマンド 更新SQL 文を実行します。 更新の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されます。

(12)

4.1.4 JDBCInsert フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードを静的 SQL で挿入する フォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle() メ ソ ッ ド を 呼 び 出 し 獲 得 し た JDBC 接 続 か ら Statement を作成しています。 (3) CreateSQL コマンド JDBC_ACCESS テーブルへデータを挿入する SQL 文の文字列を作成しています。 このSQL 文を作成した時点で、挿入データが決まります。 (4) ExecSQL コマンド 挿入SQL 文を実行します。 挿入の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されます。

(13)

4.1.5 JDBCDelete フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードを静的 SQL で削除する フォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle() メ ソ ッ ド を 呼 び 出 し 獲 得 し た JDBC 接 続 か ら Statement を作成しています。 (3) CreateSQL コマンド JDBC_ACCESS テーブルのレコードを削除する SQL 文の文字列を作成しています。 このSQL 文を作成した時点で、削除条件が決まります。 (4) ExecSQL コマンド 削除SQL 文を実行します。 削除の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されます。

(14)

4.2 forms.prepared.oracle パッケージ JDBC を利用してテーブルをアクセスするフォームを格納したパッケージです。 このパッケージは、プリペアSQL 文を使用してデータベースアクセスするフォームです。 4.2.1 JDBCPrepareSelect1 フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードをプリペア SQL で検索 するフォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle() メ ソ ッ ド を 呼 び 出 し 獲 得 し た JDBC 接 続 か ら Statement を作成しています。 [例] プロパティ設定から JDBC 接続を獲得 conn1 = DbUtil.getJDBCConnectionForOracle(session); (3) CreateSQL コマンド JDBC_ACCESS2 テーブルのレコードを検索する SQL 文の文字列を作成しています。 作成した文字列から prepareStatement を作成します。 検索条件は、パラメータとし、SetSQL コマンドを実行した時に検索条件がセットされます。 (4) SetData コマンド prepareStatement の検索条件パラメータをセットしています。 (5) ExecSQL コマンド 検索SQL 文を実行します。 検索の実行は、JDBC executeQuery() メソッドを呼び出すことで実行し、検索結果を ResultSet で受け取り、ゲッタメソッドを使い検索結果をフォームの繰返し領域に表示してい ます。

(15)

4.2.2 JDBCPrepareSelect2 フォーム

このフォームは、JDBC 接続を利用してデータベーステーブルのレコードをプリペア SQL で検索 するフォームです。

JDBCPrepareSelect1 フォームとは、JDBC Connection の獲得方法と ResultSet の扱いが異なり ます。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法とは別の方法 で行っています。 Oracle JDBC ドライバクラスをロードし、DriverManager.getConnection()メソッドから JDBC 接続を獲得しています。 (2) getJDBCConnection()メソッド このメソッドは、Oracle JDBC ドライバクラスから JDBC Connection を獲得するメソッドで す。 このメソッドから獲得する JDBC Connection は、NXJ プロジェクトで定義している Connection Oracle の設定とは関係なく JDBC Connection を獲得します。

このメソッドは、NXJ プロジェクトの application.properties ファイルに設定しているプロ パティ設定値を元に作成します。 [Oracle 用] プロパティ名 設定値 DB_SERVER データベースサーバホスト名 DB_PORT データベースサーバポート番号 DB_NAME データベース名(SID) DB_USER データベースユーザ名 DB_PASSWORD パスワード (3) BEFORE FORM セクション 内部作成メソッド getJDBCConnection() メソッドを呼び出し JDBC Connection を獲得して います。 (4) CreateSQL コマンド JDBC_ACCESS2 テーブルのレコードを検索する SQL 文の文字列を作成しています。 作成した文字列から prepareStatement を作成します。 検索条件は、パラメータとし、SetSQL コマンドを実行した時に検索条件がセットされます。 検索条件を変更する場合は、再度このコマンドを実行してSQL 文を作成します。 (5) SetData コマンド prepareStatement の検索条件パラメータをセットしています。

(16)

(6) ExecSQL コマンド

検索SQL 文を実行します。

検索の実行は、JDBC executeQuery() メソッドを呼び出すことで実行し、検索結果を ResultSet で受け取ります。

ResultSet を EXEC SQL ITERATE 文を使ってテキストフィールドコントロールにセットし ています。

(17)

4.2.3 NXJJDBCPrepareUpdatet フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードをプリペア SQL で更新 するフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。

[例] Connection Oracle から JDBC 接続を獲得

NXJDataConnection Nconn1 = session.getConnection("Oracle"); Connection conn1 = Nconn1.getJdbcConnection();

(3) CreateData コマンド JDBC_ACCESS2 テーブルのレコードを更新する SQL 文の文字列を作成しています。 作成した文字列から prepareStatement を作成します。 更新条件は、パラメータとし、SetSQL コマンドを実行した時にセットされます。 (4) SetSQL コマンド prepareStatement の更新条件パラメータをセットしています。 (5) ExecSQL コマンド 更新SQL 文を実行します。 更新の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS2 テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されま す。

(18)

4.2.4 NXJJDBCPrepareInsert フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードをプリペア SQL で挿入 するフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。 (3) CreateSQL コマンド JDBC_ACCESS2 テーブルへデータを挿入する SQL 文の文字列を作成しています。 作成した文字列から prepareStatement を作成します。 挿入データは、パラメータとし、SetSQL コマンドを実行した時に挿入データがセットされま す。 (4) SetData コマンド prepareStatement の挿入データパラメータをセットしています。 (5) ExecSQL コマンド 挿入SQL 文を実行します。 挿入の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS2 テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されま す。

(19)

4.2.5 NXJJDBCPrepareDelete フォーム このフォームは、JDBC 接続を利用してデータベーステーブルのレコードをプリペア SQL で削除 するフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。 (3) CreateSQL コマンド JDBC_ACCESS2 テーブルのレコードを削除する SQL 文の文字列を作成しています。 作成した文字列から prepareStatement を作成します。 削除条件は、パラメータとし、SetSQL コマンドを実行した時に挿入データがセットされます。 (4) SetData コマンド prepareStatement の削除条件パラメータをセットしています。 (5) ExecSQL コマンド 削除SQL 文を実行します。 削除の実行は、JDBC executeUpdate () メソッドを呼び出すことで実行します。 JDBC_ACCESS2 テーブルの内容は、テーブル検索ボタンをクリックすることで、表示されま す。

(20)

4.3 forms.procedure.oracle パッケージ JDBC 接続を利用して Oracle ストアド・プロシージャを呼び出すフォームを格納したパッケージです。 4.3.1 JDBCCallINParam フォーム このフォームは、JDBC 接続を利用して入力パラメータを持つストアド・プロシージャを呼び出し ているフォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得します。 [例] プロパティから獲得した JDBC 接続を獲得

Connection conn1 = DbUtil.getJDBCConnectionForOracle(session); (3) Call コマンド

INParam ストアド・プロシージャを呼び出す CallableStatement を作成後、入力パラメータ をセットし、execute()メソッドでストアド・プロシージャを実行しています。

(21)

4.3.2 JDBCCallOUTParam フォーム このフォームは、JDBC 接続を利用して出力パラメータを持つストアド・プロシージャを呼び出し ているフォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle() メ ソ ッ ド を 呼 び 出 し 獲 得 し た JDBC 接 続 か ら Statement を作成しています。 [例] プロパティから獲得した JDBC 接続を獲得

Connection conn1 = DbUtil.getJDBCConnectionForOracle(session); (3) Call コマンド

OUTParam ストアド・プロシージャを呼び出す CallableStatement を作成後、出力パラメー タを登録し、execute()メソッドでストアド・プロシージャを実行しています。

(22)

4.3.3 NXJJDBCCallINAndOUTParam フォーム このフォームは、JDBC 接続を利用して入力パラメータと出力パラメータを持つストアド・プロシ ージャを呼び出しているフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。 (3) Call コマンド INAndOUTParam ストアド・プロシージャを呼び出す CallableStatement を作成後、入力 パラメータをセットし、そして出力パラメータを登録します。 execute()メソッドでストアド・プロシージャを実行し、出力パラメータをゲッタメソッドで獲 得してデータビューに表示します。

(23)

4.3.4 JDBCCallIN_OUTParam フォーム このフォームは、JDBC 接続を利用して入力/出力パラメータと出力パラメータを持つストアド・ プロシージャを呼び出しているフォームです。 (1) JDBC 接続獲得 DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を獲得しています。 (2) BEFORE FORM セクション DbUtil.getJDBCConnectionForOracle()メソッドを呼び出し、JDBC 接続を作成しています。 (3) Call コマンド IN_OUTParam ストアド・プロシージャを呼び出す CallableStatement を作成後、入力/出力 パラメータのデータセットと出力パラメータ登録と、出力パラメータの登録後、execute()メソ ッドでストアド・プロシージャを実行しています。 出力パラメータをゲッタメソッドで獲得してデータビューに表示します。

(24)

4.3.5 NXJJDBCCallINParamReturnValue フォーム このフォームは、JDBC 接続を利用して入力/出力パラメータと出力パラメータを持つストアド・ ファンクションを呼び出しているフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。 (3) Call コマンド INParamReturnValue ストアド・ファンクションを呼び出す CallableStatement を作成後、 戻り値の登録と、入力パラメータのセットを行います。 execute()メソッドでストアド・ファンクションを実行し、戻り値をテキストフィールドコント ロールに表示します。

(25)

4.3.6 NXJJDBCCallNoParamReturnCursor フォーム このフォームは、JDBC 接続を利用して入力/出力パラメータと出力パラメータを持つストアド・ ファンクションを呼び出しているフォームです。 (1) JDBC 接続獲得 このフォームは、NXJ 開発環境で作成した Connection Oracle から獲得する方法で JDBC 接 続コネクションを獲得しています。 JDBC 接続を獲得するには、getConnection()と getJdbcConnection()メソッドを使用して獲得 します。 (2) BEFORE FORM セクション NXJ メソッド session.getConnection() メソッドを呼び出し、NXJ プロジェクトで定義した Connection Oracle を獲得しています。

NXJ Connection から getJdbcConnection() メソッドを呼び出し、JDBC Connection を獲得 します。 (3) Call コマンド NoParamReturnCursor ストアド・ファンクションを呼び出す CallableStatement を作成後、 戻り値の登録を行います。 execute()メソッドでストアド・ファンクションを実行し、戻り値を ResultSet で受け取り、 EXEC SQL ITERATE 文を使ってデータビューに表示しています。

(26)

4.4 DbUtil クラス

パッケージ util

Oracle JDBC Connection を application.properties ファイルに設定しているプロパティから獲得しま す。 このクラスは、Oracle JDBC ドライバのロードから Connection を獲得するため、 getJDBCConnectionForOracle()メソッドを呼び出して JDBC 接続を獲得する場合は、プロジェクトの Oracle Connection を定義する必要はなくなります。 4.4.1 getJDBCConnectionForOracle()メソッド このメソッドは、3.1 プロパティ設定 でOracleデータベース接続を獲得する為のプロパティ設定 からJDBC接続を獲得します。 プロパティ設定は、session.getMessage() メソッドを使用して読み取ります。 パッケージ util クラス DbUtil [メソッド構文]

public static Connection getJDBCConnectionForOracle(NXJSession session) throws Exception, SQLException, ClassNotFoundException ●引数

session NXJSession オブジェクト ●戻り値

プロパティで指定した情報から獲得した Oracle Connection オブジェクト [例]

Connection con = util. getJDBCConnectionForOracle(session);

(27)

5 実行手順

プロジェクトの実行手順を説明します。

NXJ アプリケーションデザイナがインストールされたマシンに構成されている JBoss アプリケーションサー バを使用した手順で説明します。

5.1 アプリケーションサーバの起動

JBoss アプリケーションサーバを Windows サービスまたは、run.bat スクリプトを利用して起動しま す。

[Windows サービスによる起動]

(1) Windows サービスを表示します。

(2) Windows サービスパネルから Unify NXJ Development Server を開始します。 [run.bat スクリプトによる起動]

(1) Windows コマンドプロンプトを実行します。

(2) Unify NXJ をインストールしたフォルダの jboss¥bin フォルダに移動します。 (3) run.bat バッチファイルを実行します。

(28)

5.2 プロジェクトの配備及び実行 プロジェクトをアプリケーションサーバに配備し、実行する手順を説明します。 (1) NXJ アプリケーションデザイナの起動 Windows スタートメニューから [プログラム]->[Unify NXJ]->[アプリケーションデザイナ]を選択 します。 (2) プロジェクトを開く NXJ アプリケーションデザイナのメニューバーから [ファイル]->[プロジェクトを開く]を選択し、JDBCAccess.prj ファイルを選択します。 (3) 実行 NXJ アプリケーションデザイナの実行ツールバーをクリックまたは、実行ツールバーの▼をクリッ クしてフォームリストからフォームを選択して実行します。 NXJ アプリケーションデザイナが、JBoss アプリケーションサーバにプロジェクトを配備し、ブラ ウザを立ち上げてフォームを表示します。 [参照] 付録C ツールバー 実行ボタン 付録D ツールバー 実行ボタン フォームリスト表示 [備考1] NXJ アプリケーションデザイナは、Make されていないプロジェクトに対して配備または、実行コ マンドが選択された場合には、自動的に Make を実行し、正常終了した後にプロジェクトをアプリ ケーションサーバへ配備を実行します。 [備考2] NXJ リリース 11.5 は、ツールバー実行ボタンをクリックすると、プロジェクトプロパティの全般 パネルの デフォルトエントリポイント に指定されているフォームが実行されます。

(29)
(30)

付録B Oracle Connection 設定例 ユーザ honda ホスト senna ポート 1521 SID ora92

(31)

付録C ツールバー 実行ボタン

付録D ツールバー 実行ボタン フォームリスト表示

参照

関連したドキュメント

う東京電力自らPDCAを回して業 務を継続的に改善することは望まし

このうち、大型X線検査装置については、コンテナで輸出入される貨物やコンテナ自体を利用した密輸

パキロビッドパックを処方入力の上、 F8特殊指示 →「(治)」 の列に 「1:する」 を入力して F9更新 を押下してください。.. 備考欄に「治」と登録されます。

排出量取引セミナー に出展したことのある クレジットの販売・仲介を 行っている事業者の情報

排出量取引セミナー に出展したことのある クレジットの販売・仲介を 行っている事業者の情報

(2)

・電源投入直後の MPIO は出力状態に設定されているため全ての S/PDIF 信号を入力する前に MPSEL レジスタで MPIO を入力状態に設定する必要がある。MPSEL

理由:ボイラー MCR範囲内の 定格出力超過出 力は技術評価に て問題なしと確 認 済 み で あ る が、複数の火力