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

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage
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権限を持っていることを確認します。