TECHNOLOGY
Tips !(使用上のテクニック)
対象バージョン : Adaptive Server Anywhere 6.0、7.0
対象OS : Windows95/98/ME ,WindowsNT/2000
ST0105010
JAVAのストアド・プロシージャとストアド・ファンクションの利用
Tips !
【JAVAのストアド・プロシージャ】
JAVAのクラスを作成して,CENTRALにて登録してし、ISQLにて内容を確認する。
実際の実行では下記コマンドを発行する。
CALL プロシージャ名.main(パラメータ)
(登録と確認の例) JDK1.3の環境を使用しています
Javaソースの作成
以下の内容でSample.java を作成する。
———————————————————-
import java.util.Vector;
import java.lang.*;
public class Sample{
//Fields
Vector vector = new Vector();
static public String main(String args[]){
java.lang.String str=”サンプル”;
System.out.print(str);
return str;
}
}
———————————————————-
Javaソースのコンパイル
コマンド・プロンプトにて以下のコマンドを実行し、Javaソースをコンパイルします。
これによりSample.classファイルが作成されます。
javac Sample.java
Databaseへのclassの登録
Sybase Centralでクラスを登録するDatabaseへ接続し、「Javaオブジェクト」-「JavaクラスまたはJARの追加」で作成したJavaクラス Sample.classを追加します。
ISQLにての内容確認
ISQLにて上記3)でクラスを追加したDatabaseに接続し、以下のSQLを実行する。
SELECT Sample.main()
結果として サンプル という文字が表示される。
【Javaのストアド・ファンクション】
Javaのファンクションクラスを作成して,CENTRALにて登録してし、ISQLにて内容を確認する。
Javaファンクションクラスの作成
以下の内容でSample.java を作成する。
———————————————————-
import java.lang.*;
public class Counter{
//Fields
Vector vector = new Vector();
static public String main(String args[]){
java.lang.String str=”サンプル”;
System.out.print(str);
return str;
}
}
———————————————————-
Javaソースのコンパイル
コマンド・プロンプトにて以下のコマンドを実行し、Javaソースをコンパイルします。
これによりCounter.classファイルが作成されます。
javac Counter.java
Databaseへファンクションとして登録する。
ISQLから以下のSQLを実行する。
CREATE FUNCTION getCount() RETURNS INTEGER
EXTERNAL NAME ‘Counter.getCount() return int’
ISQLにての内容確認
ISQLにて上記3)でファンクションを追加したDatabaseに接続し、以下のSQLを実行する。
SELECT Counter.getCount();
結果として計算結果1が表示される。実行ごとに1づつカウントアップされる。