データベースでのJavaの実行目的このチュートリアルでは、データベース内でJavaプログラムを開発および実行する方法について説明します。 約30分 このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。 ストアド・プロシージャを利用すると、リレーショナル・データベース管理システム(RDBMS)の機能を最大限に活用できます。 ストアド・プロシージャは、データベース・プログラミングを簡素化し、すぐに実行が可能で、データ・ロジックを集中管理し、ネットワーク通信量を最適化します。 Javaを使用したストアド・プロシージャ Java言語は、オブジェクト指向のプログラミング言語として設計されており、セキュリティ・メカニズムと効率的なガベージ・コレクション・システムを組み込んでいます。 また、Javaには非常に豊富な標準ライブラリが含まれているため、迅速かつ低コストのアプリケーション開発が実現できます。 Javaのストアド・プロシージャを利用すると、開発者は、上述したすべてのJava性能を活用してデータベース・アプリケーションを構築できます。 このOBEは、Kuassi Mensah氏の著作『Oracle Database Programming using Java and Web Services』に基づいています。 この本の説明については、http://db360.blogspot.com/2006/08/oracle-database-programming-using-java_01.html (英語)を参照してください。また、コード・サンプルはUS OTNのサイトhttp://download.oracle.com/technology/tech/java/jsp/pdf/Code_depot.zipからダウンロードできます。 前提条件このチュートリアルを始める前に、次の手順を完了してください。
データベースへのJavaアプリケーションのロードと実行以下の手順に従って、デフォルトのサーバー側接続(conn = DriverManager.getConnection("jdbc:default:connection:");)を使用してTrimLoad.javaをデータベースにロードした後、プロシージャTrimLobProcを使用してこれを実行します。
SQLタイプからJavaタイプへのマッピングSQLのデータ・タイプとJavaプログラミング言語のデータ・タイプは異なるため、Javaタイプを使用したアプリケーションとSQLタイプを使用したデータベースの間でデータを送信するマッピングを行います。 以下の手順に従って、各種のSQLタイプと対応するJavaタイプのマッピングを行います。
以下の手順に従い、ojvmjavaまたはPL/SQLラッパーを使用して、Javaアプリケーションを起動します。
Object Type Call Specは、STATICキーワードを使用して、あるオブジェクト・タイプのパブリックな静的メンバーを公開します。 ただし、その他のPL/SQLパッケージのCall Specとは異なり、Object Type Call Specは、MEMBERキーワードを使用して静的でないインスタンス・メソッドを公開することもできます。以下の手順に従って、Object Type Call Specの作成とテストを行います。
バイナリ実行可能ファイルを使用すると、最善のJava実行パフォーマンスを達成できます。バイナリ実行可能ファイルを作成するには、JITコンパイラおよび/または静的コンパイラを使用してJavaソース・コードをコンパイルします。 Oracle Database 11g以降のOJVMでは、JITコンパイラが使用されており、動的な選択やネイティブ・コンパイル、および頻繁に使用されるJavaメソッドの実行が可能であるため、Oracle Database 10gで使用されているNCOMPと比較して、パフォーマンスと管理性が向上します。 以下の手順に従って、Javaアプリケーションの解析と比較した場合のJITコンパイルのメリットを表示します。
OracleJVMでは、特定の目的で使用されるJavaオブジェクトの状態は、"オブジェクト・メモリー"と呼ばれる、特定の各種メモリー領域(Newspace、Oldspace、Runspace、Stackspace、Sessionspaceなど)に保存されます。以下の手順に従って、各種のJavaメモリー領域を表示します。
このチュートリアルで学習した内容は、以下のとおりです。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||