Hitachi

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


17.6.1 DataSourceインタフェース

DataSourceインタフェースで提供される各メソッドの詳細,使用方法については,JDBCの関連ドキュメントを参照してください。ここでは,JDBCドライバがサポートするDataSourceインタフェースのメソッドを示します。

〈この項の構成〉

(1) メソッド

DataSourceインタフェースのメソッド一覧を次の表に示します。

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

メソッド

提供ドライバ

機能

JDBC2.0

JDBC4.0

getConnection()

データソースに設定した接続情報によって,データベース接続を試みます。

getConnection(String username, String password)

データソースに設定した接続情報によって,データベース接続を試みます。

getLoginTimeout()

setLoginTimeoutメソッドで指定された値を返します。

getLogWriter()

DataSourceオブジェクトのログライターを取得します。

setLoginTimeout(int seconds)

データベースへの接続試行中に待機する最長時間(秒)を指定します。

setLogWriter(PrintWriter out)

DataSourceオブジェクトのログライターを設定します。

(凡例)

○:提供されます。

(a) getConnection()

【機能】

データソースに設定した接続情報によって,データベース接続を試みます。

【形式】
public Connection getConnection() throws SQLException
【引数】

なし。

【戻り値】

Connectionオブジェクト

【機能詳細】

DataSourceオブジェクトに事前に設定された接続情報を基に,HiRDBサーバとの接続を行い,接続されたConnectionオブジェクトを返します。ユーザ名称,パスワードの各設定方法での優先順位については,「接続情報の優先順位」を参照してください。

【発生する例外】

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

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

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

    各接続情報が不正である条件については,「URLの構文」,及び「ユーザプロパティ」を参照してください。

(b) getConnection(String username, String password)

【機能】

データソースに設定した接続情報によって,データベース接続を試みます。

【形式】
public Connection getConnection(String username, String password) throws SQLException
【引数】
String username:

接続時のユーザ名

String password:

接続時のパスワード

【戻り値】

Connectionオブジェクト

【機能詳細】

引数で指定された情報,及びDataSourceオブジェクトに事前に設定された接続情報を基に,HiRDBサーバとの接続を行い,接続されたConnectionオブジェクトを返します。

引数username又は引数passwordがnullの場合,ユーザ名称又はパスワードを,この引数で指定しなかったことを示します。また,引数passwordが長さ0の文字列の場合,パスワードを指定しなかったことを示します。引数usernameとConnectionProperty中にユーザIDを設定した場合,引数usernameの指定値を優先します。同様に,パスワードも引数passwordの指定値を優先します。引数username及びpasswordを指定しない場合については,「接続情報の優先順位」を参照してください。

【発生する例外】

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

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

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

    各接続情報が不正である条件については,「URLの構文」,及び「ユーザプロパティ」を参照してください。

  • 引数に指定したユーザ名が長さ0の文字列の場合

(c) getLoginTimeout()

【機能】

setLoginTimeoutメソッドで指定された値を返します。

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

なし。

【戻り値】
int型:

setLoginTimeoutメソッドで指定された値。setLoginTimeoutメソッドで指定されていない場合は,0を返します。

【発生する例外】

なし。

(d) getLogWriter()

【機能】

DataSourceオブジェクトのログライターを取得します。

【形式】
public synchronized PrintWriter getLogWriter() throws SQLException
【引数】

なし。

【戻り値】

PrdbDataSourceオブジェクトのログライターを返します。ログライターが設定されていない場合はNULL値を返します。

【発生する例外】

なし。

(e) setLoginTimeout(int seconds)

【機能】

データベースへの接続試行中に待機する最長時間(秒)を指定します。

【形式】
public synchronized void setLoginTimeout(int seconds) throws SQLException
【引数】
int seconds:

接続待ち時間(秒)

【戻り値】

なし。

【機能詳細】

getConnectionメソッドでConnectionオブジェクトを取得する際に行う,HiRDBサーバとの物理接続時に使用します。0を指定した場合,又はsetLoginTimeoutを実行していない場合は,PDCONNECTWAITTIMEで指定した時間が,HiRDBサーバとの物理接続時の,HiRDBサーバに対する最大待ち時間になります。

getConnectionメソッドでの接続処理は,大きく分けて次の二つから成ります。

  1. TCP/IPのコネクション確立処理

  2. HiRDBサーバとのユーザ認証などのネゴシエーション

このメソッド及びクライアント環境定義PDCONNECTWAITTIMEの指定値は,2.を監視対象としており,1.は監視対象に含みません。1.を監視する場合,クライアント環境定義PDNBLOCKWAITTIMEを指定する必要があります。

監視範囲の詳細については「クライアント環境定義の設定内容」のクライアント環境定義PDCONNECTWAITTIMEを参照してください。

【発生する例外】

引数secondsが0未満,又は301以上の場合,SQLExceptionを投入します。

(f) setLogWriter(PrintWriter out)

【機能】

DataSourceオブジェクトのログライターを設定します。

【形式】
public synchronized void setLogWriter(PrintWriter out) throws SQLException
【引数】

PrintWriter out:ログライター

【戻り値】

なし。

【発生する例外】

なし。

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

このインタフェースを直接使用する場合に必要なパッケージ名称とクラス名称を次に示します。

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

クラス名称:PrdbDataSource