17.10 - Java外部プロシージャの関数の詳細 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

外部プロシージャ定義のコードを記述するときに、必須であるLANGUAGE句でLANGUAGE JAVAを指定して、その言語がJavaであることを示します(LANGUAGE句を参照)。

Java外部プロシージャは、標準JDBCドライバ インターフェースを使用してSQLコードを実行します。Java外部プロシージャはデータベースで実行され、ログオンしたセッション内から呼び出されるので、データベースへの接続は、jdbc:default:connectionという名前のデフォルトの接続を使用することになります。

Javaプログラムは、(ログオンされる別のセッションを使用して)別のデータベースまたは同一データベースへの別個の接続を作成できます。外部Javaプロシージャがこの接続を行なう場合、検出不能なデッドロックを作成する可能性があります。

ANSI SQL:2011規格では、Java外部プロシージャの次のルール セットを指定しています。
  • Javaソース コードはデータベースの外部でコンパイルする必要があります。

    外部Java言語ルーチンは、Javaプログラムでの埋込みSQL文のコーディングにJDBC規格を使用して記述する必要があります。

    結果のクラス(バイト コード)は、JARファイル内に設定する必要があります。

  • 次に、JARファイルをデータベースと共に登録する必要があります。
  • 登録を行なうには、SQLJ.Install_Jarという名前の外部プロシージャを呼び出します。
  • システムが、登録したJARファイルおよび関連Javaクラスを指定するEXTERNAL NAME句を使用して、Java外部プロシージャを作成します。

それが作成されたなら、それ以降、外部プロシージャと同様にJavaルーチンにアクセスできます。

Java外部プロシージャの記述の詳細について、<Teradata Vantage™- SQL外部ルーチン プログラミング、B035-1147>を参照してください。