JAR(Java ARchive)ファイルは、zipファイル形式Javaクラスの集合です。クラス(バイト コンパイルされたJava)は、CREATE PROCEDURE(外部形式)のEXTERNAL NAME句を使用して外部Javaルーチンが作成されるときに参照されます。
JARファイルは常にデータベースの外部で作成されます。クラスを参照する前に、JARファイルを登録してからSQL文にコピーする必要があります。いったんJARがデータベースに導入されると、どんな方法でも内容を変更することはできません。また、JARファイルを削除したり、丸ごと置き換えたりすることもできません。
JARファイルは、SQLJ.Install_Jar外部プロシージャを呼び出してJARファイルをインストールしたユーザーだけが利用できます(このプロシージャについては、SQLJデータベースおよび<Teradata Vantage™- SQL外部ルーチン プログラミング、B035-1147>を参照)。CおよびC++外部ルーチンのインフラストラクチャと同様に、システムはJARを含む各データベースのプラットフォーム上にディレクトリを作成します。所定のデータベース内で1つ以上の外部ルーチンのために作成されたCおよびC++ DLLには、他のユーザーまたはデータベースがアクセスできない事実と同様に、Java外部ルーチンのために作成されたJARファイルには、他のユーザーまたはデータベースがアクセスできません。
JARファイルには、特定の権限はありません。したがって、ユーザーまたはデータベースAは、ユーザーまたはデータベースBに導入されたJARを参照する外部プロシージャを作成できません。ただし、ユーザーまたはデータベースAには、CおよびC++外部ルーチンに使用した権限と同じ権限を使用して、ユーザーまたはデータベースBに作成されたJava外部プロシージャへのアクセス権が与えられます。この方法については、<Teradata Vantage™ - SQLデータ制御言語、B035-1149>の「GRANT(SQL形式)」を参照してください。
Java外部プロシージャに確実にアクセスできるようにする1つの方法は、すべてのJARファイルを導入し、同じデータベース内にすべてのJava外部プロシージャを作成してから、それらのJava外部プロシージャを実行する必要のあるすべてのユーザーにアクセス権を与えます。
詳細は、<Teradata Vantage™- SQL外部ルーチン プログラミング、B035-1147>を参照してください。