17.6.1 DataSourceインタフェース
DataSourceインタフェースで提供される各メソッドの詳細,使用方法については,JDBCの関連ドキュメントを参照してください。ここでは,JDBCドライバがサポートするDataSourceインタフェースのメソッドを示します。
- 〈この項の構成〉
(1) メソッド
DataSourceインタフェースのメソッド一覧を次の表に示します。
メソッド |
提供ドライバ |
機能 |
||
---|---|---|---|---|
JDBC2.0 |
JDBC4.0 |
JDBC4.3 |
||
○ |
○ |
○ |
データソースに設定した接続情報によって,データベース接続を試みます。 |
|
○ |
○ |
○ |
データソースに設定した接続情報によって,データベース接続を試みます。 |
|
○ |
○ |
○ |
setLoginTimeoutメソッドで指定された値を返します。 |
|
○ |
○ |
○ |
DataSourceオブジェクトのログライターを取得します。 |
|
○ |
○ |
○ |
データベースへの接続試行中に待機する最長時間(秒)を指定します。 |
|
○ |
○ |
○ |
DataSourceオブジェクトのログライターを設定します。 |
- (凡例)
-
○:提供されます。
(a) getConnection()
- 【機能】
-
データソースに設定した接続情報によって,データベース接続を試みます。
- 【形式】
public Connection getConnection() throws SQLException
- 【引数】
-
なし。
- 【戻り値】
-
Connectionオブジェクト
- 【機能詳細】
-
DataSourceオブジェクトに事前に設定された接続情報を基に,HiRDBサーバとの接続を行い,接続されたConnectionオブジェクトを返します。ユーザ名称,パスワードの各設定方法での優先順位については,「接続情報の優先順位」を参照してください。
- 【発生する例外】
-
次の場合,SQLExceptionを投入します。
(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を投入します。
(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メソッドでの接続処理は,大きく分けて次の二つから成ります。
-
TCP/IPのコネクション確立処理
-
HiRDBサーバとのユーザ認証などのネゴシエーション
このメソッド及びクライアント環境定義PDCONNECTWAITTIMEの指定値は,2.を監視対象としており,1.は監視対象に含みません。1.を監視する場合,クライアント環境定義PDNBLOCKWAITTIMEを指定する必要があります。
監視範囲の詳細については「クライアント環境定義の設定内容」のクライアント環境定義PDCONNECTWAITTIMEを参照してください。
-
- 【発生する例外】
-
引数secondsが0未満,又は301以上の場合,SQLExceptionを投入します。
(2) パッケージ名称及びクラス名称
このインタフェースを直接使用する場合に必要なパッケージ名称とクラス名称を次に示します。
パッケージ名称:JP.co.Hitachi.soft.HiRDB.JDBC
クラス名称:PrdbDataSource