17.00 - 17.05 - SQLJ.INSTALL_JAR外部ストアド プロシージャ - 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
日本語 (日本)

目的

SQLJ.INSTALL_JAR外部ストアド プロシージャを使用して、アーカイブ ファイル(.jarまたは.zipファイル拡張子があるファイル)をTeradata Databaseに登録し、そのアーカイブ ファイルをデータベース システムのすべてのノードに配布します。

定義

REPLACE PROCEDURE SQLJ.INSTALL_JAR
   (IN locspec VARCHAR(1000),
    IN jarname VARCHAR(128)CHARACTER SET UNICODE,
    IN deploy  INTEGER)
LANGUAGE C
NO SQL
PARAMETER STYLE SQL
EXTERNAL NAME 'SL!xsplib';

説明

locspec
登録するアーカイブ ファイルの場所。
locspec文字列の最初の2文字は、アーカイブ ファイルがクライアントとデータベース サーバーのどちらにあるかを示しています。最初の2文字が
  • CJの場合、.jarファイルまたは.zipファイルの場所はクライアント上です。
  • SJの場合、.jarファイルまたは.zipファイルの場所はデータベース サーバー上です。

locspec文字列の3番目の文字は、locspec文字列の最初の2文字と残りの文字を区切るために選択した区切り文字です。

locspec文字列の残りの文字は、アーカイブ ファイルのパスを示しています。

アーカイブ ファイルの場所
  • クライアントの場合、ファイルのパスはファイルの場所と名前(.jarファイルまたは.zipファイルの拡張子を含む)を指定するクライアント変換パス。
  • データベース サーバーの場合、ファイルのパスはファイルの場所と名前(.jarファイルまたは.zipファイルの拡張子を含む)を指定する絶対パスまたは相対パス。

    ファイルのパスが相対パスの場合、アーカイブ ファイルへの絶対パスは、相対パスをサーバー上のソース コードのデフォルト パスに付加して作成されます。

    ソース コードのデフォルト パスを確認するには、以下に示すようにcufconfigユーティリティの-oオプションを使用して、SourceDirectoryPathフィールドの設定を検索します。
    cufconfig -o

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

jarname
アーカイブ ファイルのSQL識別子。単一引用符( ' )で囲まれています。

アーカイブ ファイルを登録するためにここで使用する識別子は、Java外部ルーチンの定義に使用するCREATE/REPLACE PROCEDURE文またはCREATE/REPLACE FUNCTION文で後から指定するものと同じ名前です。

識別子は、名前を二重引用符で囲まないTeradata Databaseオブジェクトの命名ルールに従わなければなりません。
  • これには以下の文字だけを使用できます。
    • 大文字または小文字(AからZ、およびaからz)
    • 数字(0~9)
    • 特殊文字(ハイフンまたは負符号(-)、ピリオド(.)、ドル記号($)、番号記号(#)、および下線(_))
    • (特殊文字「-」と「.」の使用は、このタイプの識別子にのみ許可された、二重引用符で名前を囲まないTeradata Databaseオブジェクトの命名ルールに対する拡張です)
  • 先頭を数字にすることはできません。
  • Teradata予約語を使用することはできません。

    Teradata予約語の詳細について、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

  • jarnameの最大長は128文字です。
さらに、識別子には、Teradataインストールの一部であるJARファイルに予約されている名前は使用できません。この制限は、大文字小文字のすべての組み合わせに適用されます。
  • javFnc
  • terajdbc4
  • tdgssjava
  • tdgssconfig

Teradata Databaseオブジェクト名の詳細については、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

deploy
将来の使用に備えて予約されている整数値。

現在のところ、deployの値はゼロでなければなりません。

例: SQLJ.INSTALL_JAR外部ストアド プロシージャ

Linuxサーバー上のソース コードのデフォルト パスが/etc/opt/teradata/tdconfig/Teradata/tdbs_udf/usr/に設定されており、/etc/opt/teradata/tdconfig/Teradata/tdbs_udf/usr/java_xspaccounts.jarというファイルがあるとします。

以下の文では、accounts.jarファイルがJXSPデータベースに登録され、Accounts_JARというSQL識別子がファイルに作成され、ファイルがすべてのノードに分散されます。

DATABASE JXSP;
CALL SQLJ.INSTALL_JAR('SJ!java_xsp/accounts.jar', 'Accounts_JAR', 0);

Linuxクライアントのディレクトリ/tmp/java_xspにあるreports.zipというZIPファイルについて考えてみます。

以下の文では、reports.zipファイルがJXSPデータベースに登録され、Reports-ZIPというSQL識別子がファイルに作成され、ファイルがすべてのノードに分散されます。

DATABASE JXSP;
CALL SQLJ.INSTALL_JAR('CJ?/tmp/java_xsp/reports.zip', 'Reports-ZIP', 0);

関連トピック

Java外部ルーチンを定義する際の、jarname SQL識別子の使用方法については、<Teradata Vantage™- SQLデータ定義言語 - 詳細トピック、B035-1184>の「CREATE PROCEDURE、REPLACE PROCEDURE、CREATE FUNCTION、およびREPLACE FUNCTION」を参照してください。