スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
Connectionクラスでは,主に次の機能が提供されます。
Connectionインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。
表18-10 Connectionインタフェースのメソッド一覧
記載箇所 | メソッド | 機能 |
---|---|---|
(a) | clearWarnings() | このConnectionオブジェクトに関して通知されたすべての警告をクリアします。 |
(b) | close() | HiRDBとの接続を切断します。 |
(c) | commit() | 直前のコミット又はロールバック以降に行われた変更を,すべて有効とします。 |
(d) | createStatement() | SQL文をデータベースに送るためのStatementオブジェクトを生成します。 |
(e) | createStatement(int resultSetType, int resultSetConcurrency) | SQL文をデータベースに送るためのStatementオブジェクトを生成します。 |
(f) | createStatement(int resultSetType,int resultSetConcurrency, int resultSetHoldability) | SQL文をデータベースに送るためのStatementオブジェクトを生成します。 |
(g) | getAutoCommit() | このConnectionオブジェクトでの現在の自動コミットモードを取得します。 |
(h) | getCatalog() | このConnectionオブジェクトの現在のカタログ名を取得します。 |
(i) | getHoldability() | このConnectionオブジェクトを使用して生成されるResultSetオブジェクトの,現在の保持機能を取得します。 |
(j) | getMetaData() | DatabaseMetaDataオブジェクトを生成します。 |
(k) | getTransactionIsolation() | このConnectionオブジェクトの現在のトランザクション遮断レベルを取得します。 |
(l) | getTypeMap() | このConnectionに関連したMapオブジェクトを取得します。 |
(m) | getWarnings() | このConnectionオブジェクトに関する呼び出しによって報告される警告を,SQLWarningオブジェクトとして取得します。 |
(n) | isClosed() | このConnectionオブジェクトがクローズされているかどうかを取得します。 |
(o) | isReadOnly() | このConnectionオブジェクトが読み込み専用モードかどうかを取得します。 |
(p) | nativeSQL(String sql) | 指定されたSQL文内のエスケープ句を,HiRDBが実行できる形式に変換して返します。 |
(q) | prepareCall(String sql) | CALL文を実行するためのCallableStatementオブジェクトを生成します。 |
(r) | prepareCall(String sql, int resultSetType, int resultSetConcurrency) | CALL文を実行するためのCallableStatementオブジェクトを生成します。 |
(s) | prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) | CALL文を実行するためのCallableStatementオブジェクトを生成します。 |
(t) | prepareStatement(String sql) | パラメタ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。 |
(u) | prepareStatement(String sql, int resultSetType, int resultSetConcurrency) | パラメタ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。 |
(v) | prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) | パラメタ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。 |
(w) | rollback() | 現在のトランザクションで行われた変更をすべて元に戻し,このConnectionオブジェクトが現在保持するデータベースロックをすべて解除します。 |
(x) | setAutoCommit(boolean autoCommit) | この接続の自動コミットモードを,指定された状態に設定します。 |
(y) | setCatalog(String catalog) | HiRDBにはカタログが存在しないため,このドライバはメソッドの指定値を無視します。 |
(z) | setHoldability(int holdability) | このConnectionオブジェクトを使用して生成されるResultSetオブジェクトの保持機能を,指定された保持機能へ変更します。 |
(aa) | setReadOnly(boolean readOnly) | HiRDBには専用モードがないため,メソッドの指定値を無視します。 |
(ab) | setTransactionIsolation(int level) | HiRDBでは常にTRANSACTION_REPEATABLE_READのため,このメソッドの指定値を無視します。 |
(ac) | checkSession(int waittime) | 現在の接続状態を確認します。 |
(ad) | setHiRDB_Audit_Info(int pos,String userinf) | ユーザ任意の接続情報(ユーザ付加情報)を設定します。 |
public void clearWarnings() throws SQLException
public void close() throws SQLException
public void commit() throws SQLException
public synchronized Statement createStatement() throws SQLException
public synchronized Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
public synchronized Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
public boolean getAutoCommit() throws SQLException
public synchronized String getCatalog() throws SQLException
public synchronized int getHoldability() throws SQLException
public synchronized DatabaseMetaData getMetaData() throws SQLException
public int getTransactionIsolation() throws SQLException
public synchronized java.util.Map getTypeMap() throws SQLException
public SQLWarning getWarnings() throws SQLException
public boolean isClosed()
public synchronized boolean isReadOnly() throws SQLException
public String nativeSQL(String sql) throws SQLException
エスケープ句 ::= 日付・時刻・時刻印のエスケープシーケンス | LIKEのエスケープシーケンス | 外部結合のエスケープシーケンス | プロシジャ呼び出しのエスケープシーケンス | スカラ関数のエスケープシーケンス | 代入のエスケープシーケンス 日付・時刻・時刻印のエスケープシーケンス ::= 日付のエスケープシーケンス | 時刻のエスケープシーケンス | 時刻印のエスケープシーケンス 日付のエスケープシーケンス ::= エスケープ開始子 d 日付データの既定の文字列表現 エスケープ終了子 時刻のエスケープシーケンス ::= エスケープ開始子 t 時刻データの既定の文字列表現 エスケープ終了子 時刻印のエスケープシーケンス ::= エスケープ開始子 ts 時刻印データの既定の文字列表現 エスケープ終了子 LIKEのエスケープシーケンス ::= エスケープ開始子 escape エスケープ文字 エスケープ終了子 外部結合のエスケープシーケンス ::= エスケープ開始子 oj 結合表 エスケープ終了子 プロシジャ呼び出しのエスケープシーケンス ::= エスケープ開始子 call 〔〔RDノード名称.〕認可識別子.〕ルーチン識別子 〔(〔引数〔,引数〕…〕)〕 エスケープ終了子 代入のエスケープシーケンス ::= エスケープ開始子 set 代入文 エスケープ終了子 スカラ関数のエスケープシーケンス ::= エスケープ開始子 fn スカラ関数 エスケープ終了子 スカラ関数 ::= 標準形式のスカラ関数※ エスケープ開始子 ::= '{' エスケープ終了子 ::= '}' |
表18-11 エスケープ句の変換規則
対象エスケープ句 | 変換前 | 変換後 |
---|---|---|
日付 | エスケープ開始子 d 日付データの既定の文字列表現 エスケープ終了子 | 日付データの既定の文字列表現 |
時刻 | エスケープ開始子t 時刻データの既定の文字列表現 エスケープ終了子 | 時刻データの既定の文字列表現 |
時刻印 | エスケープ開始子ts 時刻印データの既定の文字列表現 エスケープ終了子 | 時刻印データの既定の文字列表現 |
LIKE | エスケープ開始子 escape エスケープ文字 エスケープ終了子 | escapeエスケープ文字 |
外部結合 | エスケープ開始子 oj 結合表 エスケープ終了子 | 結合表 |
プロシジャ呼び出し | エスケープ開始子 call 〔〔RDノード名称.〕認可識別子.〕ルーチン識別子〔(〔引数〔,引数〕…〕)〕 エスケープ終了子 |
|
スカラ関数 | エスケープ開始子 fn スカラ関数 エスケープ終了子 | HiRDB形式のスカラ関数※2 |
代入 | エスケープ開始子 set 代入文 エスケープ終了子 | set代入文 |
表18-12 標準形式とHiRDB形式が異なるスカラ関数の変換内容一覧
スカラ関数 | 変換前の形式 | 変換後の形式(HiRDB形式) |
---|---|---|
数学関数 | CEILING(number) | MASTER.CEIL(number) |
LOG(float) | MASTER.LN(float) | |
TRUNCATE(number, places) | MASTER.TRUNC(number, places) | |
文字列関数 | CHAR(code) | MASTER.CHR(code) |
INSERT(string1, start, length, string2) | MASTER.INSERTSTR(string1, start, length, string2) | |
LCASE(string) | LOWER(string) | |
LEFT(string, count) | MASTER.LEFTSTR(string, count) | |
LOCATE(string1, string2[, start]) | POSITION(string1 IN string2 [FROM start]) | |
RIGHT(string, count) | MASTER.RIGHTSTR(string, count) | |
SUBSTRING(string, start, length) | SUBSTR(string, start, length) | |
UCASE(string) | UPPER(string) | |
時刻と日付の関数 | CURDATE() | CURRENT DATE |
CURRENT_DATE() | CURRENT DATE | |
CURTIME() | CURRENT TIME | |
CURRENT_TIME() | CURRENT TIME | |
CURRENT_TIME(time-precision) | CURRENT TIME | |
NOW() | CURRENT TIMESTAMP(6) | |
システム関数 | USER() | USER |
表18-13 標準形式とXDM/RD E2形式が異なるスカラ関数の変換内容一覧
スカラ関数 | 変換前の形式 | 変換後の形式(XDM/RD E2形式) |
---|---|---|
数学関数 | LOG(float) | LN(float) |
文字列関数 | LCASE(string) | LOWER(string) |
LOCATE(string1, string2[, start]) | POSITION(string1 IN string2 [FROM start]) | |
LTRIM(string) | TRIM(LEADING FROM string) | |
RTRIM(string) | TRIM(TRAILING FROM string) | |
SUBSTRING(string, start, length) | SUBSTR(string, start, length) | |
UCASE(string) | UPPER(string) | |
時刻と日付の関数 | CURDATE() | CURRENT DATE |
CURRENT_DATE() | CURRENT DATE | |
CURTIME() | CURRENT TIME | |
CURRENT_TIME() | CURRENT TIME | |
NOW() | CURRENT TIMESTAMP(6) | |
システム関数 | USER() | USER |
スカラ関数 | 変換前 | 変換後 | |
---|---|---|---|
標準形式とHiRDB形式が同じスカラ関数 | システム組み込みスカラ関数 | {fn ABS(number)} | ABS(number) |
システム定義スカラ関数 | {fn ASCII(string)} | MASTER.ASCII(string) | |
標準形式とHiRDB形式が異なるスカラ関数 | システム組み込みスカラ関数 | {fn UCASE(string)} | UPPER(string) |
システム定義スカラ関数 | {fn CEILING(number)} | MASTER.CEIL(number) |
public synchronized CallableStatement prepareCall(String sql) throws SQLException
public synchronized CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
public synchronized CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
public synchronized PreparedStatement prepareStatement(String sql) throws SQLException
public synchronized PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
public synchronized PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
public void rollback() throws SQLException
public void setAutoCommit(boolean autoCommit) throws SQLException
public synchronized void setCatalog(String catalog) throws SQLException
public synchronized void setHoldability(int holdability) throws SQLException
表18-14 保持機能のデフォルト値
プロパティHiRDB_CURSORの指定値 | デフォルト値 |
---|---|
TRUE | ResultSet.HOLD_CURSORS_OVER_COMMIT |
FALSE | ResultSet.CLOSE_CURSORS_AT_COMMIT |
指定なし | ResultSet.CLOSE_CURSORS_AT_COMMIT |
public synchronized void setReadOnly(boolean readOnly) throws SQLException
public void setTransactionIsolation(int level) throws SQLException
public int checkSession (int waittime) throws SQLException
public void setHiRDB_Audit_Info(int pos,String userinf) throws SQLException
このインタフェースを実装するパッケージ名称とクラス名称を次に示します。
次に示す方法でホールダビリティを指定すると,URLの構文HIRDB_CURSOR,又はプロパティHIRDB_CURSORの指定値を,ステートメントオブジェクト(Statement,PreparedStatement,CallableStatementオブジェクト)及びConnectionオブジェクトごとに上書きできます。
該当するオブジェクトから生成したResultSetオブジェクト又はDatabaseMetaDataオブジェクト(setHoldabilityメソッド使用時)は,これらの指定とHIRDB_CURSORの指定の組み合わせによって有効になるホールダビリティの指定が変わります。
表18-15に,次のメソッドで生成したステートメントオブジェクトの場合に有効になるホールダビリティの指定を示します。
表18-15 有効になるホールダビリティの指定(1/2)
HIRDB_CURSOR,又はsetHiRDBCursorModeの指定 | 引数resultSetHoldabilityの指定値 | |||
---|---|---|---|---|
ResultSet. HOLD_CURSORS_OVER_COMMIT |
ResultSet. CLOSE_CURSORS_AT_COMMIT |
|||
UNTIL DISCONNECT付きのSELECT文を実行 | 左記以外のSQL文を実行 | |||
プロパティHIRDB_CURSORにTRUEを指定 | URLの構文HIRDB_CURSORにTRUEを指定 | T | T | F |
URLの構文HIRDB_CURSORにFALSEを指定 | T | T | F | |
プロパティHIRDB_CURSORにFALSEを指定 | URLの構文HIRDB_CURSORにTRUEを指定 | T | T | F |
URLの構文HIRDB_CURSORにFALSEを指定 | T | T | F | |
setHiRDBCursorModeにtrueを指定 | T | T | F | |
setHiRDBCursorModeにfalseを指定 | T | T | F |
表18-16に,表18-15以外のメソッドで生成したステートメントオブジェクト,又はDatabaseMetaDataオブジェクトの場合に有効になるホールダビリティの指定を示します。
表18-16 有効になるホールダビリティの指定(2/2)
HIRDB_CURSOR,又はsetHiRDBCursorModeの指定 | setHoldabilityメソッドの指定値 | setHoldabilityメソッドの実行なし | ||||
---|---|---|---|---|---|---|
ResultSet. HOLD_CURSORS_OVER_COMMIT |
ResultSet. CLOSE_CURSORS_AT_COMMIT |
|||||
UNTIL DISCONNECT付きのSELECT文を実行 | 左記以外のSQL文を実行 | UNTIL DISCONNECT付きのSELECT文を実行 | 左記以外のSQL文を実行 | |||
プロパティHIRDB_CURSORにTRUEを指定 | URLの構文HIRDB_CURSORにTRUEを指定 | T | T | F | T | T |
URLの構文HIRDB_CURSORにFALSEを指定 | T | T | F | T | F | |
プロパティHIRDB_CURSORにFALSEを指定 | URLの構文HIRDB_CURSORにTRUEを指定 | T | T | F | T | T |
URLの構文HIRDB_CURSORにFALSEを指定 | T | T | F | T | F | |
setHiRDBCursorModeにtrueを指定 | T | T | F | T | T | |
setHiRDBCursorModeにfalseを指定 | T | T | F | T | F |
HIRDB_CURSORについては,「18.2.2 getConnectionメソッドによるHiRDBへの接続」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.