Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (E ~ O)

 

INSTALL JAVA 文

この文は、データベース内で Java クラスを使用できるようにします。

構文
INSTALL JAVA
[ NEW | UPDATE ]
[ JAR jar-name ]
FROM { FILE filename | expression }
パラメータ
  • NEW キーワードと UPDATE キーワードの句   NEW のインストール・モードを指定する場合、参照する Java クラスは現在インストールされているクラスの更新ではなく、新しいクラスにしてください。データベース内に同じ名前のクラスがあり、NEW インストール・モードが使用されている場合は、エラーになります。

    UPDATE を指定すると、参照する Java クラスは指定されたデータベースにすでにインストールされている Java クラスの代替を含むことがあります。

    install-mode が省略されると、デフォルトは NEW です。

  • JAR 句   この句を指定する場合は、filename に jar ファイルを指定します。JAR ファイルは、通常 .jar または .zip の拡張子を持ちます。

    インストールされた jar と zip ファイルは、圧縮または圧縮解除できます。

    JAR オプションを指定すると、jar の持つクラスがインストールされた後で jar として保持されます。この jar は、これらのクラスの jar に関連付けられています。JAR オプションと一緒にデータベースにインストールされている jar は、データベースの保持された jar と呼ばれます。

    jar-name は、255 バイト以内の文字列値です。後続の INSTALL JAVA 文、UPDATE 文、REMOVE JAVA 文で保持された jar を識別するために、jar-name が使用されます。

  • FROM FILE 句   インストールする Java クラスのロケーションを指定します。

    filename でサポートされるフォーマットは、'c:\libs\jarname.jar' や '/usr/u/libs/jarname.jar' のような完全に修飾されたファイル名と、データベース・サーバの現在の作業ディレクトリを基準にした相対ファイル名です。

    filename には、クラス・ファイルまたは jar ファイルを指定してください。

  • FROM 句   式は、値として有効なクラス・ファイルまたは jar ファイルを持つバイナリ型に評価されるようにします。

備考

各クラスのクラス定義は、最初にそのクラスを使用するときに各接続の VM でロードされます。クラスをインストールすると、接続の VM が暗黙的に再起動されます。このため、INSTALL が NEW または UPDATE のいずれの install-mode を持つかにかかわらず、新しいクラスに即時アクセスします。VM が再起動されるため、Java 静的変数に格納されていた値はすべて失われ、Java クラス・タイプの SQL 変数はすべて削除されます。

他の接続では、新しいクラスは VM が最初にクラスにアクセスして次のときにロードされます。VM がそのクラスをロード済みの場合、その接続で VM を再起動するまで、その接続から新しい接続は見えません。

パーミッション

INSTALL JAVA 文を実行するには、DBA 権限が必要です。

すべてのインストールされたクラスは、すべてのユーザがすべての方法で参照できます。

Windows Mobile ではサポートされません。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の文は、クラスのファイル名とロケーションを指定して、ユーザの作成した Demo という名前の Java クラスをインストールします。

INSTALL JAVA NEW
FROM FILE 'D:\JavaClass\Demo.class';

次の文は、zip ファイルに含まれるすべてのクラスをインストールし、それらを JAR ファイル名でデータベース内に関連付けます。

INSTALL JAVA
JAR 'Widgets'
FROM FILE 'C:\Jars\Widget.zip';

ここでも、zip ファイルのロケーションは保持されません。クラスは完全に修飾されたクラス名 (パッケージ名とクラス名) を参照しなければなりません。