16.20 - EXTERNAL NAME external_Java_reference_string - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)
JARファイル、JAR内のJavaクラス、およびシステムが次の形式でプロシージャを実行するときに呼び出されるクラス内のJavaメソッドを指定する文字列。
     'jar_name:[package_name.]java_class_name.
      java_method_name[java_data_type]'
jar_name
組み込み外部プロシージャSQLJ.Install_Jarを呼び出したときにシステムが作成するプロシージャに関連付けられたJARファイルの登録名。
jar_nameは、引用符で囲まれていない名前を持つTeradata Databaseオブジェクト名のルールに従う必要があります。jar_nameの最大長は、128文字のUNICODE文字です。オブジェクト名の長さ制限については、<Teradata Vantage™ SQL基礎、B035-1141>を参照してください。jar_nameには、次の文字のみ含めることができます。
  • 大文字または小文字(AからZおよびaからz)
  • 数字(0から9)
  • 特殊記号のドル記号($)、ナンバー記号(#)、および下線文字(_)
  • jar_nameは数字で始めてはいけません。
  • jar_nameは予約語であってはなりません。
さらに、jar_nameの名前を、Teradataインストールの一部であるJARファイル用に予約されている名前にすることはできません。この制限は、大文字小文字のすべての組み合わせに適用されます。
  • javFnc
  • terajdbc4
  • tdgssjava
  • tdgssconfig
Java外部SQLプロシージャのExternal Java Reference Stringで指定できるJavaデータ型のリストについては、<Teradata Vantage™ SQL外部ルーチン プログラミング、B035-1147>を参照してください。
package_name
外部メソッド パッケージの名前とパス。
指定するJavaクラスおよびメソッドが外部パッケージに含まれている場合のみ、この指定が必要となります。
java_class_name
jar_nameで識別され、このプロシージャで実行するJavaメソッドを含んでいるJAR内に含まれるJavaクラスの名前。
Javaクラスおよびメソッドが外部パッケージに含まれている場合、適切なパッケージ名とパスでjava_class_nameを完全修飾する必要があります。
java_method_name
このプロシージャの実行時に実行されるJavaメソッドの名前。
java_data_type
1つ以上のJavaデータ型を表わす文字列。カンマで区切り、左括弧と右括弧で囲みます。
Javaデータ型リストでは、Javaメソッドの特定の実装のシグネチャを指定する方法を示しています。
システムがJavaメソッドのオーバーロードされた特定の実装を選択する必要のあるときは必ず、Javaデータ型リストを指定する必要があります。
Javaデータ型は、パラメータ マッピング ルールに応じて、単純またはオブジェクト マッピングのいずれかが可能です。パラメータ マッピング ルールの説明については、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「SQLとJavaの間のデータ型マッピング」と「CREATE PROCEDUREおよびREPLACE PROCEDURE (外部形式)」に記載されています。
java_data_type の名前は大文字小文字を区別します。
jar_nameおよびjava_class_nameを区切るときはコロン(:)を使用する必要がありますが、java_class_nameおよびjava_method_nameは、ピリオド(.)で区切ります。
例えば、salesreportsという名前でデータベースに登録されたJARファイルの場合、JARに含まれているクラスにはformalという名前が付き、クラス内で呼び出されるメソッドはmonthendという名前で、このプロシージャが実行されるときにシステムが呼び出すメソッドの詳細な定義は、次の外部Java参照文字列になります。
     salesreports:formal.monthend