ヘッダーをスキップ
Oracle® Database SQLJ開発者ガイド
11
g
リリース2 (11.2)
B56282-02
索引
次
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
1
SQLJの基本事項
前提と要件
環境に対する前提
Oracle SQLJ実装を使用するための要件
SQLJ環境
環境に関する考慮事項
SQLJの下位互換性
インストールおよび設定の確認
SQLJおよびデモ用アプリケーションの可用性の確認
インストール先のディレクトリとファイルの確認
PATHとCLASSPATHの設定
sqljutlパッケージのインストールの確認
設定のテスト
ランタイム接続の設定
データベース検証用の表の作成
JDBCドライバの検証
SQLJトランスレータとランタイムの検証
SQLJトランスレータからデータベースへの接続の検証
2
SQLJについて
SQLJの概要
SQLJコンポーネントの概要
SQLJトランスレータ
SQLJランタイム
SQLJ規格に準拠したOracle拡張型の概要
SQLJの拡張型
SQLJの拡張機能
基本的な変換処理とランタイム処理
SQLJ変換処理
トランスレータ入出力の概要
トランスレータへの入力
トランスレータの出力
ファイルの出力先
SQLJランタイム処理
SQLJのサンプル・コード
SQLJバージョンのサンプル・コード
JDBCバージョンのサンプル・コード
他のデプロイメント例
アプレットでのSQLJの実行
開発およびデプロイメントに関する一般的な考慮事項
エンド・ユーザーのための一般的な考慮事項
Java環境およびJavaプラグイン
サーバー側SQLJの概要
他の開発環境
SQLJグローバリゼーション・サポート
Oracle JDeveloper 10
g
などのIDEでのSQLJの使用
Windowsに関する注意事項
3
プログラミング上の主な考慮事項
JDBCドライバの選択
Oracle JDBCドライバの概要
変換用ドライバの選択
実行時に使用するドライバの選択および登録
接続の際の考慮事項
DefaultContextを使用した単一接続または複数接続
接続の終了
宣言済の接続コンテキスト・クラスを使用した複数接続
Oracleクラスについて
DefaultContextクラスについて
変換時の接続
カスタマイズ時の接続
NULLの処理
NULL処理用のラッパー・クラス
NULL処理の例
例外処理の基本
SQLJおよびJDBCの例外処理要件
例外の処理
SQLExceptionサブクラスの使用方法
基本的なトランザクション制御
トランザクションの概要
自動コミットと手動コミットとの違い
接続を定義する際の自動コミットの指定
既存の接続の自動コミットに対する変更
手動COMMITまたはROLLBACKの使用方法
イテレータおよび結果セットに対するコミットおよびロールバックの影響
セーブポイントの使用
概要: 簡単なSQLJコード
Oracle固有コード生成(プロファイルなし)
Oracle固有コード生成でのコード上の考慮事項と制限事項
Oracle固有コード生成時のSQLJ使用方法の変更
Oracle固有コード生成でのサーバー側の考慮事項
Oracle固有コード生成のメリットとデメリット
ISO標準コード生成
ISO標準コード生成用環境の要件
SQLJトランスレータとSQLJランタイム
SQLJプロファイル
プロファイルの概要
バイナリ移植性
SQLJ変換処理
トランスレータ入出力の概要
トランスレータへの入力
トランスレータの出力
ファイルの出力先
SQLJランタイム処理
デプロイメント例
Oracle固有コード生成とISO標準コード生成との違い
ネーミングの要件および制限事項
Javaのネームスペース: ローカル変数およびクラスのネーミングに関する制限事項
SQLJのネームスペース
SQLのネームスペース
ファイル名の要件と制限
中間層のSQLJに関する考慮事項
4
基本的な言語機能
SQLJ宣言の概要
SQLJ宣言の規則
イテレータ宣言
接続コンテキスト宣言
IMPLEMENTS句宣言
WITH句宣言
標準WITH句の使用例
Oracle固有のWITH句の使用例
returnabilityの例
SQLJ実行文の概要
SQLJ実行文の規則
SQLJ句
接続コンテキスト・インスタンスと実行コンテキスト・インスタンスの指定
実行文の例
実行文のPL/SQLブロック
Javaホスト式、コンテキスト式および結果式
ホスト式の概要
基本的なホスト式の構文
ホスト式の例
結果式とコンテキスト式の概要
Java式の実行時評価
Java式の実行時評価の例(ISOコード生成)
ホスト式の制限事項
単一行の問合せ結果: SELECT INTO文
SELECT INTO構文
SELECT INTO文の例
SELECTリストにホスト式を使用する例
SELECT INTOエラー状態
複数行の問合せ結果: SQLJイテレータ
イテレータの概念
強い型指定のイテレータの概要
弱い型指定のイテレータの概要
イテレータの使用手順
名前付きイテレータ、位置イテレータおよび結果セット・イテレータ
名前付きイテレータの使用
位置イテレータの使用
ホスト変数としてのイテレータおよび結果セットの使用
イテレータ列としてのイテレータおよび結果セットの使用
代入文(SET)
ストアド・プロシージャおよびストアド・ファンクションのコール
ストアド・プロシージャのコール
ストアド・ファンクションのコール
ストアド・ファンクションの戻り値としてのイテレータおよび結果セットの使用
5
型のサポート
ホスト式での型サポート
サポートされている型の概要
JDBC 2.0でサポートされている型と要件
PL/SQLのBOOLEAN型、RECORD型およびTABLE型の使用
ストリームのサポート
SQLJストリームの一般的な使用方法
ストリームをサポートするクラスの主な特長
データ送信時のSQLJストリームの使用
ストリームへのデータの取出し: 注意
データ取得時のSQLJストリームの使用
ストリーム・クラスのメソッド
ストリーム・データの取出しおよび処理例
出力パラメータおよびファンクションの戻り値としてのSQLJストリーム・オブジェクト
JDBC 2.0 LOB型とOracle拡張型のサポート
パッケージoracle.sql
BLOB、CLOBおよびBFILEのサポート
Oracle ROWIDのサポート
OracleのREF CURSOR型のサポート
その他のOracle Database 11
g
データ型のサポート
BigDecimalのサポート強化
6
オブジェクト、コレクションおよびOPAQUE型
Oracleのオブジェクトとコレクションについて
オブジェクトとコレクションの概要
Oracleオブジェクトの基本概念
Oracleコレクションの基本概念
オブジェクトとコレクションのデータ型
カスタムJavaクラス
カスタムJavaクラスのインタフェース指定
オブジェクト・メソッドでのカスタムJavaクラスのサポート
カスタムJavaクラスの要件
カスタムJavaクラスのコンパイル
カスタム・データの読込みと書込み
ORAData実装のその他の使用例
ユーザー定義データ型
JPublisherとカスタムJavaクラスの作成
JPublisherで生成される内容
カスタムJavaクラスの生成
JPublisherのINPUTファイルおよびプロパティ・ファイル
カスタムJavaクラスの作成およびメンバー名の指定
JPublisherで生成されるラッパー・メソッド
JPublisherのカスタムJavaクラスの例
JPublisher生成クラスの拡張
SQLJ実行文の強い型指定のオブジェクトと参照
オブジェクトとオブジェクト参照のイテレータ列への取出し
オブジェクトの更新
各オブジェクト属性から作成したオブジェクトの挿入
オブジェクト参照の更新
SQLJ実行文の強い型指定のコレクション
ネストした表へのアクセス: TABLE構文とCURSOR構文
ネストした表を含む行の挿入
ホスト式へのネストした表の取出し
TABLE構文によるネストした表の操作
ネスト・イテレータによるネストした表からのデータの選択
ホスト式へのVARRAYの取出し
VARRAY行への挿入
シリアライズされたJavaオブジェクト
RAWおよびBLOB列に対するJavaクラスのシリアライズ
SerializableDatum: ORADataの実装
SQLJアプリケーションのSerializableDatum
SerializableDatum(クラス全体)
弱い型指定のオブジェクト、参照およびコレクション
弱い型指定のオブジェクト、参照およびコレクションのサポート
弱い型指定のオブジェクト、参照およびコレクションの使用制限
Oracle OPAQUE型
7
高度な言語機能
接続コンテキスト
接続コンテキストの概要
接続コンテキストのロジスティクス
接続コンテキスト・クラスの宣言と使用方法の補足
複数の接続コンテキストの例
接続コンテキスト・クラスの実装と機能
接続コンテキスト宣言でのIMPLEMENTS句の使用
接続コンテキストのセマンティクス・チェック
標準データ・ソースのサポート
SQLJ固有のデータ・ソース
JavaServer Pages用のSQLJ固有の接続JavaBeans
グローバル・トランザクションのSQLJサポート
実行コンテキスト
実行コンテキストと接続コンテキストとの関係
実行コンテキスト・インスタンスの作成と指定
実行コンテキストの同期
実行コンテキストのメソッド
状態メソッド
制御メソッド
取消しメソッド
バッチ更新メソッド
セーブポイント・メソッド
クローズ・メソッド
例: ExecutionContextメソッドの使用
実行コンテキストとマルチスレッドの関係
SQLJでのマルチスレッド
イテレータ・クラスの実装と拡張機能
イテレータ・クラスの実装と機能
イテレータ宣言でのIMPLEMENTS句の使用
イテレータ・クラスの拡張のサポート
結果セット・イテレータ
スクロール可能なイテレータ
詳細なトランザクション制御
SET TRANSACTION構文
アクセス・モードの設定
分離レベルの設定
JDBC接続クラスのメソッドの使用
SQLJとJDBCの連係動作
SQLJ接続コンテキストとJDBC接続の連係動作
SQLJイテレータとJDBC結果セットの連係動作
動的SQLのサポート
メタ・バインド式
SQLJ動的SQLの例
実行計画の修正
8
トランスレータのコマンドラインとオプション
トランスレータのコマンドラインとプロパティ・ファイル
SQLJのオプション、フラグおよび接頭辞
コマンドラインの構文と処理
プロパティ・ファイルによるオプション設定
環境変数SQLJ_OPTIONSによるオプションの設定
オプション設定の優先順位
基本的なトランスレータ・オプション
基本的なコマンドライン専用オプション
出力ファイルとディレクトリのオプション
接続オプション
レポートと行マッピングのオプション
DMSのオプション
コード生成、最適化およびCHAR比較のオプション
高度なトランスレータ・オプション
オプション設定を他の実行可能プログラムに渡す接頭辞
特殊処理のフラグ
セマンティクス・チェックとオフライン解析のオプション
トランスレータによる代替環境のサポートとオプション
Javaおよびコンパイラのオプション
カスタマイズのオプション
9
トランスレータとランタイムの検証
トランスレータの内部操作
JavaとSQLJのコード解析と構文チェック
SQLのセマンティクス・チェックとオフライン解析
コードの生成
Javaコンパイル
プロファイルのカスタマイズ(ISOコード生成の場合)
トランスレータのエラー、メッセージおよび終了コード
トランスレータのエラー、警告および情報メッセージ
トランスレータのステータス・メッセージ
トランスレータの終了コード
SQLJランタイム
SQLJランタイム・パッケージ
ランタイム・エラーの分類
トランスレータおよびランタイムでのグローバリゼーション・サポート
文字エンコーディングと言語サポート
SQLJおよびJavaの文字エンコーディングと言語サポートの設定
SQLJ拡張グローバリゼーション・サポート
SQLJ外部でのグローバリゼーション・サポート用の操作
10
パフォーマンスとデバッグ
パフォーマンス強化の機能
行プリフェッチ
文のキャッシング
バッチ更新機能
列の定義
パラメータ・サイズの定義
SQLJのデバッグ機能
デバッグ用のSQLJ -linemapフラグ
サーバー側のdebugオプション
AuditorInstaller専用カスタマイザの概要
Oracle10
g
JDeveloperでの開発とデバッグの概要
Oracle Performance MonitoringのSQLJサポート
SQLJ DMSサポートの概要
DMS用のSQLJコマンドライン・オプションの概要
DMS用のSQLJランタイム・コマンドおよびプロパティ・ファイル設定
SQLJ DMSセンサーとメトリック
SQLJ DMSの例
11
サーバー側SQLJ
サーバー側SQLJの概要
サーバーで使用するSQLJコードの作成
サーバー側でのデータベース接続
サーバー側でのコーディングの注意事項
サーバーのデフォルトの出力デバイス
サーバー側での名前解決
SQL名とJava名
クライアント側でのSQLJソースの変換とコンポーネントのロード
クラスおよびリソースのサーバーへのロード
ロードされたクラスとリソース・スキーマ・オブジェクトの名前付け
クラス・ファイルとリソース・ファイルをロードした後のアプリケーションの公開
サーバー側でのクライアント・アプリケーションの実行の概要
SQLJソースのロードとサーバーでの変換
SQLJソース・コードのサーバーへのロード
サーバー側の埋込みトランスレータでサポートされるオプション
ロードされたソース、生成されたクラスおよびリソース・スキーマ・オブジェクトの名前付け
サーバー側埋込みトランスレータからのエラー出力
ソース・ファイルをロードした後の、アプリケーションの公開
Javaスキーマ・オブジェクトの削除
サーバー側のその他の考慮事項
サーバーでのJavaマルチスレッド
サーバーでの再帰的SQLJコール
サーバーでのコードの実行状況の確認
A
カスタマイズおよび専用カスタマイザ
プロファイルについて
コード生成時のプロファイルの生成
プロファイル・エントリの例
SQLJ実行文
対応するSQLJプロファイル・エントリ
プロファイルのカスタマイズについて
カスタマイザ・ハーネスおよびカスタマイザの概要
カスタマイズ処理の手順
プロファイルのカスタマイズと登録
カスタマイズ時のエラー・メッセージとステータス・メッセージ
カスタマイズされたプロファイルの実行時の機能
カスタマイズ・オプションとカスタマイザの選択
カスタマイザ・ハーネスのオプションの概要
カスタマイザ・ハーネスのオプションの構文
カスタマイザ・ハーネスでサポートされているオプション
カスタマイザ・ハーネスの一般オプション
プロファイル・バックアップ・オプション(backup)
カスタマイズ接続コンテキスト・オプション(context)
カスタマイザ・オプション(customizer)
カスタマイズ用JARファイルのダイジェスト・オプション(digests)
カスタマイズ用ヘルプ・オプション(help)
カスタマイズ用の詳細オプション(verbose)
カスタマイザ・ハーネスの接続用オプション
カスタマイズ用ユーザー・オプション(user)
カスタマイズ用パスワード・オプション(password)
カスタマイズ用URL・オプション(url)
カスタマイズ用JDBCドライバ・オプション(driver)
専用のカスタマイザの起動に使用するカスタマイザ・ハーネスのオプション
専用カスタマイザ: プロファイル・デバッグ・オプション(debug)
専用カスタマイザ: プロファイル出力オプション(print)
専用カスタマイザ: プロファイルのセマンティクス・チェック用オプション(verify)
カスタマイザ固有のオプションの概要
Oracleカスタマイザのオプション
Oracleカスタマイザでサポートされているオプション
Oracleカスタマイザのバージョン互換性オプション(compat)
Oracleカスタマイザの強制オプション(force)
Oracleカスタマイザの列定義オプション(optcols)
Oracleカスタマイザのパラメータ定義オプション(optparams)
Oracleカスタマイザ用パラメータのデフォルト・サイズ・オプション(optparamdefaults)
Oracleカスタマイザによる空白埋めを考慮したCHAR比較(fixedchar)
OracleカスタマイザのSQL表示オプション(showSQL)
Oracleカスタマイザ用の文のキャッシュ・サイズ・オプション(stmtcache)
Oracleカスタマイザのサマリー・オプション(summary)
他のカスタマイザ用のオプション
プロファイルのカスタマイズ用のSQLJトランスレータのオプション
プロファイルのJARファイル
JARファイルの要件
JARファイルのロジスティクス
プロファイルのセマンティクス・チェック用のSQLCheckerCustomizer
カスタマイザ・ハーネスのverifyオプションによるSQLCheckerCustomizerの起動
SQLCheckerCustomizerオプション
SQLCheckerCustomizerセマンティクス・チェッカのオプション(checker)
SQLCheckerCustomizerの警告オプション(warn)
デバッグ用のAuditorInstallerカスタマイザ
オーディタとコード・レイヤーの概要
カスタマイザ・ハーネスの-debugオプションによるAuditorInstallerの起動
AuditorInstallerのランタイム出力
AuditorInstallerオプション
AuditorInstallerのdepthオプション(depth)
AuditorInstallerのlog_fileオプション(log)
AuditorInstallerのprefixオプション(prefix)
AuditorInstallerの戻り引数オプション(showReturns)
AuditorInstallerのスレッド名オプション(showThreads)
AuditorInstallerのuninstallオプション(uninstall)
完全なコマンドラインの例
索引