Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.4.1 Driverインタフェース

〈この項の構成〉

(1) 概要

Driverインタフェースでは,主に次の機能が提供されます。

(2) メソッド

Driverインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。

表17‒9 Driverインタフェースのメソッド一覧

メソッド

提供ドライバ

機能

JDBC2.0

JDBC4.0

acceptsURL(String url)

ドライバが指定されたURLに接続できるかどうかを確認します。

connect(String url, Properties info)

指定されたURLにデータベース接続を試みます。

getMajorVersion()

ドライバのメジャーバージョンを取得します。

getMinorVersion()

ドライバのマイナーバージョンを取得します。

getPropertyInfo(String url, Properties info)

ドライバの有効なプロパティについての情報を取得します。

jdbcCompliant()

ドライバがJDBC CompliantTMであるかどうかを通知します。

(凡例)

○:提供されます。

(a) acceptsURL(String url)

【機能】

ドライバが指定されたURLに接続できるかどうかを確認します。

【形式】
public boolean acceptsURL(String url) throws SQLException
【引数】
String url:

データベースのURL

【戻り値】

ドライバが指定されたURLを認識する場合はtrue,そうでない場合はfalseを返します。

【発生する例外】

なし。

(b) connect(String url, Properties info)

【機能】

指定されたURLにデータベース接続を試みます。

【形式】
public Connection connect(String url, Properties info) throws SQLException
【引数】
String url:

接続先のデータベースのURL。詳細については,「URLの構文」を参照してください。

Properties info:

接続引数としてのプロパティ名称,及び値のペアのリスト。詳細については,「ユーザプロパティ」を参照してください。

【戻り値】

URLへの接続を表すConnectionオブジェクト

【機能詳細】

URLで示すデータベースと接続します。

このメソッドは,DriverManager.getLoginTimeoutが返す値を,HiRDBサーバとの接続時に行う通信の最大待ち時間として使用します。

getLoginTimeoutが0を返す場合,クライアント環境定義PDCONNECTTIMEで指定した値が,最大待ち時間になります。

なお,待ち時間はDriverManager.setLoginTimeoutで指定できます。

【発生する例外】

次の場合,SQLExceptionを投入します。

  • データベースアクセスエラーが発生した場合

  • 指定した接続情報が不正である場合

  • DriverManager.getLoginTimeoutの返却値が0〜300の範囲外となる場合

(c) getMajorVersion()

【機能】

ドライバのメジャーバージョンを取得します。

【形式】
public synchronized int getMajorVersion()
【引数】

なし。

【戻り値】

このドライバのメジャーバージョン番号

【発生する例外】

なし。

(d) getMinorVersion()

【機能】

ドライバのマイナーバージョンを取得します。

【形式】
public synchronized int getMinorVersion()
【引数】

なし。

【戻り値】

このドライバのマイナーバージョン番号

【発生する例外】

なし。

(e) getPropertyInfo(String url, Properties info)

【機能】

このドライバの有効なプロパティについての情報を取得します。

【形式】
public synchronized DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException
【引数】
String url:

接続先のデータベースのURL

Properties info:

接続引数としてのプロパティ名称,及び値のペアのリスト

【戻り値】

有効なプロパティを記述するDriverPropertyInfoオブジェクトの配列(プロパティが必要ない場合は,この配列は空になることもあります)

DriverPropertyInfoの各フィールドの設定値を次の表に示します。

表17‒10 DriverPropertyInfoの各フィールドの設定値

プロパティ名

DriverPropertyInfoフィールド

name

value

description

required

choices

user

プロパティ名と同じ

null

"UserID"

false

null

password

同上

""

"Password"

false

null

UAPNAME

同上

""

"UAPNAME"

false

null

JDBC_IF

同上

"OFF"

"JDBC Interface Trace"

false

{"ON","OFF"}

TRC_NO

同上

"500"

"Trace Entry Number"

false

null

ENCODELANG

同上

null

"Encode Lang"

false

null

HIRDB_CURSOR

同上

"FALSE"

"HiRDB Cursor across commit"

false

null

LONGVARBINARY_ACCESS

同上

"REAL"

"Longvarbinary locator access"

false

null

HiRDB_for_Java_SQL_IN_NUM

同上

"300"

"SQL In Number"

false

null

HiRDB_for_Java_SQL_OUT_NUM

同上

"300"

"SQL Out Number"

false

null

HiRDB_for_Java_SQLWARNING_LEVEL

同上

"SQLWARN"

"SQL Warning Level"

false

null

HiRDB_for_Java_ENV_VARIABLES

同上

null

"HiRDB Environment Variables"

false

null

HiRDB_for_Java_STATEMENT_COMMIT_BEHAVIOR

同上

"TRUE"

"HiRDB Statement across commit"

false

{"TRUE","FALSE"}

HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE

同上

0

"Longvarbinary locator access size"

false

null

HiRDB_for_Java_MAXBINARYSIZE

同上

null

"Longvarbinary maximum binary size"

false

null

HiRDB_for_Java_LONGVARBINARY_TRUNCERROR

同上

"TRUE"

"Longvarbinary truncate error"

false

{"TRUE","FALSE"}

HiRDB_for_Java_DBID

同上

null

"Port number of HiRDB server or Environment variable group of HiRDB"

false

null

HiRDB_for_Java_DBHOST

同上

null

"Host name with HiRDB"

false

null

HiRDB_for_Java_HiRDB_INI

同上

null

"HiRDB.ini file "

false

null

HiRDB_for_Java_BATCHEXCEPTION_BEHAVIOR

同上

"TRUE"

"BatchUpdateException UpdateCounts that conforms to JDBC standard"

false

{"TRUE","FALSE"}

SQLWARNING_IGNORE

同上

"FALSE"

"Warning generated by the Connection object is not maintained with the Connection object"

false

{"TRUE","FALSE"}

HiRDB_for_Java_STATEMENT_CLOSE_BEHAVIOR

同上

"FALSE"

"HiRDB Statement close behavior"

false

{"TRUE","FALSE"}

HiRDB_for_Java_UPDATECOUNT_BEHAVIOR

同上

"FALSE"

"Statement UpdateCounts that conforms to JDBC standard"

false

{"TRUE","FALSE"}

【機能詳細】

引数url,infoに指定された情報を解析し,データベースに接続するための情報を返します。

なお,acceptsURL(String url)がfalseとなる場合,このメソッドはnullを返します。

【発生する例外】

なし。

(f) jdbcCompliant()

【機能】

このドライバがJDBC CompliantTMであるかどうかを通知します。

【形式】
public synchronized boolean jdbcCompliant()
【引数】

なし。

【戻り値】

ドライバがJDBC Compliantの場合はtrue,そうでない場合はfalseを返します。

【発生する例外】

なし。

(3) パッケージ名称及びクラス名称

このインタフェースを実装するパッケージ名称とクラス名称を次に示します。

パッケージ名称:JP.co.Hitachi.soft.HiRDB.JDBC

クラス名称:HiRDBDriver

(4) エスケープ句

SQL文中で{ }で囲まれた部分をエスケープ句と呼びます。エスケープ句は一つのキーワードと複数のパラメタで構成されます。キーワードの大文字と小文字は区別しません。

エスケープ句の一覧を次の表に示します。

表17‒11 エスケープ句の一覧

エスケープ句の種別

キーワード

日付,時刻,時刻印

d,t,ts

LIKEエスケープ文字

escape

外部結合

oj

プロシジャ呼び出し

call

スカラ関数

fn

代入

set

エスケープ句で指定できるスカラ関数については,「エスケープ句で指定できるスカラ関数」を参照してください。

<エスケープ構文の解析>

エスケープ構文の解析を有効にするかどうかは,StatementクラスのsetEscapeProcessingメソッドで指定します。指定がない場合は,有効となります。エスケープ構文の解析が有効な場合,JDBCドライバはSQL文内にエスケープ句がないか解析します。SQL文内にエスケープ句があった場合は,HiRDBが実行可能なSQL文に変換します。