目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate() メソッド 7 3.SqlArg クラスリファレンス 8 (1)Describe() メソッド 8 (2)Fetch() メソッド 9 (3)Close() メソッド 9 (4)GetColumnNum() メソッド 10 (5)GetDataString() メソッド 10 4. 環境変数 12 5. サンプルアプリケーション 15 1/16
1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String DBName, String User, String Pswd); DBName: データベース名の文字列を指定します ASCII コードの範囲で指定してください User: ユーザ ID の文字列を指定します Pswd: パスワードの文字列を指定します メソッドが成功すると true を返します メソッドが失敗すると false を返します 2/16
(2)DisConnect() メソッド データベースへ disconnect 要求を行います void DisConnect(); (3)Commit() メソッド commit 要求を行いトランザクションを確定します void Commit(); 3/16
(4)Rollback() メソッド rollback 要求を行いトランザクションを取り消します void Rollback(); 4/16
2.SqlStm クラスリファレンス SqlStm クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Prepare() メソッド prepare を実行し SQL の解析を行います boolean Prepare(SqlCtl Ctl, String SQLStmt); Ctl: SqlCtl クラスのインスタンスを指定します あらかじめ SqlCtl クラスの Connect() メソッドでデータベースに Connect しておく必要があります SQLStmt: SQL の文字列を指定します メソッドが成功すると true を返します メソッドが失敗すると false を返します 5/16
(2)Execute() メソッド Prepare() メソッドの解析結果を使用して SQL の実行を行います create dbarea 文と drop dbarea 文は本メソッドでは実行できません ( コンソールコマンド (rdbsql) で実行してください ) int Execute(); メソッドが成功すると 0 を返します メソッドが失敗すると-1 を返します 対象データが存在しない場合は 100 を返します (3)Release() メソッド SQL 実行の後処理を行います Execute() メソッドで SQL を実行した後は本メソッドをコールして後処理を行ってください 後処理を行わずにプログラムの実行を続行するとメモリ不足が発生する可能性があります void Release(); 6/16
(4)Immediate() メソッド SQL の解析と実行を行います create dbarea 文と drop dbarea 文は本メソッドでは実行できません ( コンソールコマンド (rdbsql) で実行してください ) boolean Immediate(SqlCtl Ctl, String SQLStmt); Ctl: SqlCtl クラスのインスタンスを指定します あらかじめ SqlCtl クラスの Connect() メソッドでデータベースに Connect しておく必要があります SQLStmt: SQL の文字列を指定します メソッドが成功すると true を返します メソッドが失敗すると false を返します 7/16
3.SqlArg クラスリファレンス SqlArg クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Describe() メソッド describe を実行して SQL の解析を行い 引数情報を作成します boolean Describe(SqlCtl Ctl, String SQLStmt); Ctl: SqlCtl クラスのインスタンスを指定します あらかじめ SqlCtl クラスの Connect() メソッドでデータベースに Connect しておく必要があります SQLStmt: SQL の文字列を指定します? パラメタを含んでいてもかまいません 指定可能な SQL を下記に示します select 文 insert 文 delete 文 update 文 メソッドが成功すると true を返します メソッドが失敗すると false を返します 8/16
(2)Fetch() メソッド fetch を実行して表データの検索を行います 本メソッドの実行前に Describe() メソッドをコールしておく必要があります int Fetch(); メソッドが成功すると 0 を返します メソッドが失敗すると-1 を返します 表データの終端を検知すると 100 を返します (3)Close() メソッド fetch 実行の後処理を行います Fetch() メソッドで戻り値が 0 以外の場合は本メソッドをコールして後処理を行ってください 後処理を行わずにプログラムの実行を続行するとメモリ不足が発生する可能性があります void Close(); 9/16
(4)GetColumnNum() メソッド 検索対象の列数を取得します int GetColumnNum(); 検索対象の列数を返します (5)GetDataString() メソッド 任意の列の検索データを文字列で取得します String GetDataString(int nclm); 10/16
nclm: 取得する列データの番号を指定します 指定する範囲は1~n( 検索列数の最大値 ) である必要があります 対象の検索データを文字列で返します 11/16
4. 環境変数 各クラスのメソッドを使用する際にあらかじめ設定が必要な環境変数の一覧を以下に示します ( 凡例 ) : 必須 : 省略可能 12/16
(1)Windows 版 # 直結型 C/S 型 環境変数名 指定値 1 RDBLOG アプリケーションの実行結果を出力するログファイルのパス名を指定してください 2 RDBDATA データベースエリアファイルが格納されたフォルダ名を指定してください 3 RDBHOST データベースサーバが起動しているホスト名を指定してください 4 RDBPORT データベースサーバに接続する TCP/IP ポート番号を指定してください 指定する値は SmallGear Database マニュアル [ システム運用 ] を参照してください 5 RDBLANG SQL の文法を解析する際に判定する文字コードです 下記いずれかを指定してください 省略すると UTF-8 を仮定します shift_jis: シフト JIS EUC-JP :EUC UTF-8 :utf-8 なお,C/S 型で接続を行う場合はサーバ定義ファイルの encoding の指定に従い SQL の文法を解析します 6 RDBADT 抽象データ型を操作するときに指定してください on: 抽象データ型を使う off: 抽象データ型を使わない 7 RDBTRG トリガを操作するときに指定してください on: トリガを使う off: トリガを使わない 8 REPLOG レプリケーションの実行結果を出力するログファイルのパス名を指定してください 9 REPERR レプリケーションエラー発生時の動作を指定してください stop: 処理を中断する continue: 処理を続行する 10 REPHOST レプリケーションサーバが起動しているホスト名を指定してください 11 REPPORT レプリケーションサーバに接続する TCP/IP ポート番号を指定してください 指定する値は SmallGear Database マニュアル [ システム運用 ] を参照してください 12 PATH [INSTALLDIR]\bin を追加してください 14 CLASSPATH [INSTALLDIR]\api\class\libjvm.jar を追加してください 13/16
(2)Linux 版 # 直結型 C/S 型 環境変数名 指定値 1 RDBLOG アプリケーションの実行結果を出力するログファイルのパス名を指定してください 2 RDBDATA データベースエリアファイルが格納されたフォルダ名を指定してください 3 RDBHOST データベースサーバが起動しているホスト名を指定してください 4 RDBPORT データベースサーバに接続する TCP/IP ポート番号を指定してください 指定する値は SmallGear Database マニュアル [ システム運用 ] を参照してください 5 RDBLANG SQL の文法を解析する際に判定する文字コードです 下記いずれかを指定してください 省略すると UTF-8 を仮定します shift_jis: シフト JIS EUC-JP :EUC UTF-8 :utf-8 なお,C/S 型で接続を行う場合はサーバ定義ファイルの encoding の指定に従い SQL の文法を解析します 6 RDBADT 抽象データ型を操作するときに指定してください on: 抽象データ型を使う off: 抽象データ型を使わない 7 RDBTRG トリガを操作するときに指定してください on: トリガを使う off: トリガを使わない 8 REPLOG レプリケーションの実行結果を出力するログファイルのパス名を指定してください 9 REPERR レプリケーションエラー発生時の動作を指定してください stop: 処理を中断する continue: 処理を続行する 10 REPHOST レプリケーションサーバが起動しているホスト名を指定してください 11 REPPORT レプリケーションサーバに接続する TCP/IP ポート番号を指定してください 指定する値は SmallGear Database マニュアル [ システム運用 ] を参照してください 12 PATH /usr/smallgear/database/bin を追加してください 13 LD_LIBRARY_PATH /usr/smallgear/database/bin を追加してください 14 CLASSPATH /usr/smallgear/database/api/class/libjmv.jar を追加してください 14/16
5. サンプルアプリケーション サンプルアプリケーションを以下に示します ソースファイルの文字コードは utf-8 でコーディングしてください ( サーバ定義ファイル等の XML パラメタファイルには encoding="utf-8" を指定してください ) [ サンプル :Sample.java] import SmallGear.rdb.SqlCtl; import SmallGear.rdb.SqlStm; import SmallGear.rdb.SqlArg; public class Sample { public static void main (String[] args) { SqlCtl CTL = new SqlCtl(); if(ctl.connect("db01","admin","admin")!= true){ return; } SqlStm STM = new SqlStm(); STM.Prepare(CTL,"lock table 表 01 in exclusive mode"); STM.Execute(); STM.Release(); SqlArg ARG = new SqlArg(); ARG.Describe(CTL,"select * from 表 01"); while(arg.fetch() == 0){ for(int Cnt = 0; Cnt < ARG.GetColumnNum(); Cnt ++){ System.out.println(Cnt + ":" + ARG.GetDataString(Cnt + 1)); } } ARG.Close(); } } CTL.DisConnect(); return; [ コンパイル, 実行 ] set CLASSPATH=.;[INSTALLDIR]\api\class\libjvm.jar Javac -encoding UTF-8 Sample.java Java Sample 15/16
[ 更新履歴 ] v1.1.0 JavaAPI 追加 v3.0.0 RDBADT v4.0.0 RDBTRG REPHOST REPPORT v5.1.0 Immediate() 追加 16/16