目的
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_xspにaccounts.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」を参照してください。