17.00 - 17.05 - Java外部ルーチン用のJARファイルおよびZIPファイルの登録と配布 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)
Java UDFまたは外部ストアド プロシージャ(またはその両方)を実装するソース コードを記述、テスト、およびデバッグした後、結果クラスをJARファイルまたはZIPファイル(まとめてアーカイブ ファイルと呼びます)に配置します。次に、SQLJ.INSTALL_JAR外部ストアド プロシージャを呼び出して、以下の処理を実行する必要があります。
  • アーカイブ ファイルとそのクラスをデータベースに登録する
  • アーカイブ ファイルをシステムのすべてのノードに配布する
  • CREATE/REPLACE PROCEDURE文またはCREATE/REPLACE FUNCTION文で使用するアーカイブ ファイルのSQL識別子を作成して、Java外部ルーチンを定義する

SQLJ.INSTALL_JARを呼び出す際に、アーカイブ ファイルをデフォルトのデータベースに登録します。後からCREATE/REPLACE PROCEDURE文またはCREATE/REPLACE FUNCTION文を使用して、アーカイブ ファイルのクラスによって実装される外部ルーチンを定義する場合は、そのアーカイブ ファイルが登録されているデータベースでそれを行なう必要があります。

外部ルーチンにより要求されるアプリケーション クラスを含む他のJARファイルまたはZIPファイルがある場合、SQLJ.INSTALL_JARを使用して、それらのファイルを同じデータベースに登録できます。次いで、SQLJ.ALTER_JAVA_PATHを使用して、クラスの検索パスに、同じデータベースで登録された他のJARファイルまたはZIPファイルからのクラスを含めることができます。

SQLJ.INSTALL_JARを呼び出す場合、デフォルト データベース上で、CREATE/REPLACE PROCEDURE文またはCREATE/REPLACE FUNCTION文(あるいはその両方)を使用するための十分な権限が必要です。他のユーザーがアーカイブ ファイルのクラスで実装される外部ルーチンを定義する必要がある場合は、アーカイブ ファイルが登録されたデータベースにおいて、CREATE EXTERNAL PROCEDURE権限またはCREATE FUNCTION権限を持っている必要があります。

1つのデータベースにすべてのアーカイブ ファイルを登録し、すべてのJava外部ルーチンを定義して、外部ルーチンへのアクセス権を、これらを実行する必要のあるユーザーに付与することをお勧めします。

始める前に

外部ルーチンのJARファイルまたはZIPファイルを登録する前に、SQLJシステム データベースにINSTALL_JAR外部ストアド プロシージャが含まれており、このプロシージャおよびデフォルト データベースに対する十分な権限があることを確認します。

  1. SQLJシステム データベース内のオブジェクトを確認するには、次のSQL文を使用します。
    HELP DATABASE SQLJ;
  2. HELP DATABASEが戻す情報にINSTALL_JAR外部ストアド プロシージャが含まれていない場合は、Database Initialization Program (DIP)ユーティリティを使用してDIPSQLJスクリプトを実行します。

    DIPの詳細は、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

  3. INSTALL_JAR外部ストアド プロシージャに対してEXECUTE権限を持っていることを確認します。
  4. JARファイルまたはZIPファイルをデフォルト データベース以外のデータベースに登録する場合は、DATABASE文を使用してデフォルト データベースを変更します。
  5. デフォルト データベースにおいてCREATE EXTERNAL PROCEDURE権限またはCREATE FUNCTION権限を持っていることを確認します。