public interface Connection extends Wrapper, AutoCloseable
特定のデータベースとの接続(セッション)を表現します。接続のコンテキスト内でSQL文が実行され結果が返されます。
Connection
オブジェクト中のデータベースは、表、サポートしているSQL文法、ストアド・プロシージャ、およびこの接続の能力などについての情報を提供します。この情報は、getMetaData
メソッドで取得できます。
注: JDBCアプリケーションでConnection
を構成するときは、setAutoCommit
やsetTransactionIsolation
などの適切なConnection
メソッドを使用するようにしてください。利用できるJDBCのメソッドがある場合は、アプリケーションでSQLコマンドを直接呼び出して接続の構成を変更しないようにしてください。各文を実行後、デフォルトでは、Connection
オブジェクトは自動コミット・モードになり、自動的に変更をコミットします。自動コミット・モードが無効にされている場合、変更をコミットするにはcommit
メソッドを明示的に呼び出す必要があります。そうしないとデータベースの変更は保存されません。
JDBC 2.1コアAPIを使用して生成された新しいConnection
オブジェクトには、このオブジェクトに関連する、初期状態が空の型マップがあります。ユーザーはこの型マップのUDTにカスタム・マッピングを入力できます。ResultSet.getObject
メソッドによってデータ・ソースからUDTが取得されると、getObject
メソッドは接続の型マップをチェックして、そのUDTにエントリがあるかどうかを調べます。エントリがある場合、getObject
メソッドは指示されたクラスにUDTをマッピングします。エントリがない場合、UDTは標準マッピングを使用してマッピングされます。
ユーザーはjava.util.Map
オブジェクトとなる新しい型マップを作成し、それにエントリを作成し、カスタム・マッピングを実行できるjava.sql
メソッドにそのエントリを渡すことができます。この場合、メソッドは、接続に関連した型マップではなく指定された型マップを使用します。
たとえば、次のコード・フラグメントは、SQL型ATHLETES
がJavaプログラミング言語のAthletes
クラスにマッピングされることを指定します。コード・フラグメントはConnection
オブジェクトcon
の型マップを取得し、それにエントリを挿入し、その新しいエントリでその型マップを接続の型マップとして設定します。
java.util.Map map = con.getTypeMap(); map.put("mySchemaName.ATHLETES", Class.forName("Athletes")); con.setTypeMap(map);
修飾子と型 | フィールドと説明 |
---|---|
static int |
TRANSACTION_NONE
トランザクションがサポートされていないことを示す定数です。
|
static int |
TRANSACTION_READ_COMMITTED
ダーティ読込みは抑制され、繰返し不可の読み込みおよびファントム読込みが起こることを示す定数です。
|
static int |
TRANSACTION_READ_UNCOMMITTED
ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが起こることを示す定数です。
|
static int |
TRANSACTION_REPEATABLE_READ
ダーティ読み込みおよび繰返し不可の読込みは抑制され、ファントム読込みが起こることを示す定数です。
|
static int |
TRANSACTION_SERIALIZABLE
ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが抑制されることを示す定数です。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
abort(Executor executor)
オープン接続を終了します。
|
void |
clearWarnings()
この
Connection オブジェクトに関して報告されたすべての警告をクリアします。 |
void |
close()
自動的な解除を待たずに、ただちにこの
Connection オブジェクトのデータベースとJDBCリソースを解除します。 |
void |
commit()
直前のコミット/ロールバック以降に行われた変更をすべて永続的なものにし、この
Connection オブジェクトが現在保持するデータベース・ロックをすべて解除します。 |
Array |
createArrayOf(String typeName, Object[] elements)
Arrayオブジェクトを生成するファクトリ・メソッドです。
|
Blob |
createBlob()
Blob インタフェースを実装しているオブジェクトを構築します。 |
Clob |
createClob()
Clob インタフェースを実装しているオブジェクトを構築します。 |
NClob |
createNClob()
NClob インタフェースを実装しているオブジェクトを構築します。 |
SQLXML |
createSQLXML()
SQLXML インタフェースを実装しているオブジェクトを構築します。 |
Statement |
createStatement()
SQL文をデータベースに送るための
Statement オブジェクトを生成します。 |
Statement |
createStatement(int resultSetType, int resultSetConcurrency)
指定された型と並行処理で
ResultSet オブジェクトを生成するStatement オブジェクトを生成します。 |
Statement |
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
指定された型、並行処理、および保持機能で
ResultSet オブジェクトを生成するStatement オブジェクトを生成します。 |
Struct |
createStruct(String typeName, Object[] attributes)
Structオブジェクトを生成するファクトリ・メソッドです。
|
boolean |
getAutoCommit()
この
Connection オブジェクトの現在の自動コミット・モードを取得します。 |
String |
getCatalog()
この
Connection オブジェクトの現在のカタログ名を取得します。 |
Properties |
getClientInfo()
ドライバでサポートされる各クライアント情報プロパティの名前と現在の値が含まれるリストを返します。
|
String |
getClientInfo(String name)
名前で指定されたをクライアント情報プロパティの値を返します。
|
int |
getHoldability()
この
Connection オブジェクトを使用して生成されたResultSet オブジェクトの現在の保持機能を取得します。 |
DatabaseMetaData |
getMetaData()
この
Connection オブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaData オブジェクトを取得します。 |
int |
getNetworkTimeout()
ドライバがデータベース要求の完了を待つミリ秒数を取得します。
|
String |
getSchema()
この
Connection オブジェクトの現在のスキーマ名を取得します。 |
int |
getTransactionIsolation()
この
Connection オブジェクトの現在のトランザクション遮断レベルを取得します。 |
Map<String,Class<?>> |
getTypeMap()
この
Connection オブジェクトに関連付けられたMap オブジェクトを取得します。 |
SQLWarning |
getWarnings()
この
Connection オブジェクトに関する呼出しによって報告される最初の警告を取得します。 |
boolean |
isClosed()
この
Connection オブジェクトがクローズされているかどうかを取得します。 |
boolean |
isReadOnly()
この
Connection オブジェクトが読込み専用モードかどうかを取得します。 |
boolean |
isValid(int timeout)
接続がクローズされていて、まだ有効である場合はtrueを返します。
|
String |
nativeSQL(String sql)
指定されたSQL文をシステムの本来のSQL文法に変換します。
|
CallableStatement |
prepareCall(String sql)
データベースのストアド・プロシージャを呼び出すための
CallableStatement オブジェクトを生成します。 |
CallableStatement |
prepareCall(String sql, int resultSetType, int resultSetConcurrency)
指定された型と並行処理で
ResultSet オブジェクトを生成するCallableStatement オブジェクトを生成します。 |
CallableStatement |
prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
指定された型と並行処理で
ResultSet オブジェクトを生成するCallableStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql)
パラメータ付きSQL文をデータベースに送るための
PreparedStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql, int autoGeneratedKeys)
自動生成キーを取得する機能を持つデフォルトの
PreparedStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql, int[] columnIndexes)
指定された配列によって指定された自動生成キーを返す機能を持つデフォルトの
PreparedStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
指定された型と並行処理で
ResultSet オブジェクトを生成するPreparedStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
指定された型、並行処理、および保持機能で
ResultSet オブジェクトを生成するPreparedStatement オブジェクトを生成します。 |
PreparedStatement |
prepareStatement(String sql, String[] columnNames)
指定された配列によって指定された自動生成キーを返す機能を持つデフォルトの
PreparedStatement オブジェクトを生成します。 |
void |
releaseSavepoint(Savepoint savepoint)
現在のトランザクションから指定された
Savepoint オブジェクトと以降のSavepoint オブジェクトを削除します。 |
void |
rollback()
現在のトランザクションにおけるすべての変更を取り消し、現在この
Connection オブジェクトが保持しているすべてのデータベース・ロックを解除します。 |
void |
rollback(Savepoint savepoint)
指定された
Savepoint オブジェクトが設定されたあとに行われたすべての変更を元に戻します。 |
void |
setAutoCommit(boolean autoCommit)
この接続の自動コミット・モードを指定された状態に設定します。
|
void |
setCatalog(String catalog)
この
Connection オブジェクトのデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。 |
void |
setClientInfo(Properties properties)
接続のクライアント情報プロパティの値を設定します。
|
void |
setClientInfo(String name, String value)
名前で指定されたクライアント情報プロパティの値を、値で指定された値に設定します。
|
void |
setHoldability(int holdability)
この
Connection オブジェクトを使用して生成されたResultSet オブジェクトのデフォルトの保持機能を指定された保持機能へ変更します。 |
void |
setNetworkTimeout(Executor executor, int milliseconds)
Connection またはConnection から作成されたオブジェクトが、データベースが任意の1つの要求に応答するのを待つ最大期間を設定します。 |
void |
setReadOnly(boolean readOnly)
ドライバがデータベースの最適化を有効にできるように、ヒントとして、この接続を読込み専用モードに設定します。
|
Savepoint |
setSavepoint()
現在のトランザクションで名前のないセーブポイントを作成し、それを表す新しい
Savepoint オブジェクトを返します。 |
Savepoint |
setSavepoint(String name)
現在のトランザクションで指定された名前のセーブポイントを作成し、それを表す新しい
Savepoint オブジェクトを返します。 |
void |
setSchema(String schema)
アクセスするスキーマ名を設定します。
|
void |
setTransactionIsolation(int level)
この
Connection オブジェクトのトランザクション遮断レベルを指定されたものに変更することを試みます。 |
void |
setTypeMap(Map<String,Class<?>> map)
この
Connection オブジェクトの型マップとして、指定されたTypeMap オブジェクトをインストールします。 |
isWrapperFor, unwrap
static final int TRANSACTION_NONE
static final int TRANSACTION_READ_UNCOMMITTED
static final int TRANSACTION_READ_COMMITTED
static final int TRANSACTION_REPEATABLE_READ
static final int TRANSACTION_SERIALIZABLE
TRANSACTION_REPEATABLE_READ
での禁止に加え、1つのトランザクションがWHERE
条件を満たすすべての行を読み出し、2番目のトランザクションがWHERE
条件を満たす行を挿入したあとに、最初のトランザクションが同一の条件で読込みし直した場合に、2番目の読込みでは追加された「ファントム」行を取り出すという状況が禁止されます。Statement createStatement() throws SQLException
Statement
オブジェクトを生成します。パラメータなしのSQL文は通常、Statement
オブジェクトを使用して実行されます。同じSQL文が多数回実行される場合は、PreparedStatement
オブジェクトを使用する方が効率的なことがあります。
返されるStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
Statement
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合PreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement
オブジェクトを生成します。
INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatement
オブジェクトに格納できます。その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。
注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。ドライバが、プリコンパイルをサポートしている場合、prepareStatement
メソッドは、その文をプリコンパイル用としてデータベースに送ります。ドライバによっては、プリコンパイルをサポートしていないものがあります。この場合、PreparedStatement
オブジェクトが実行されるまで、文はデータベースに送られません。これはユーザーに直接的な影響はありませんが、どのメソッドが、どのSQLException
オブジェクトをスローするかに関して影響があります。
返されるPreparedStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
sql
- 次を含めることができるSQL文: 1つ以上の'?'INパラメータ・プレースホルダーPreparedStatement
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合CallableStatement prepareCall(String sql) throws SQLException
CallableStatement
オブジェクトを生成します。CallableStatement
オブジェクトは、そのINとOUTパラメータを設定するメソッドとストアド・プロシージャの呼出しを実行するメソッドを提供します。
注: このメソッドは、ストアド・プロシージャ呼出し文を処理するために最適化されています。ドライバによっては、prepareCall
メソッドが実行されるときにデータベースに呼出し文を送るものがあります。その他のドライバは、CallableStatement
オブジェクトが実行されるまで待ちます。これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。
返されるCallableStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
sql
- 1つ以上の「?」パラメータ・プレースホルダーを含めることができるSQL文。通常この文は、JDBC呼出しのエスケープ構文を使用して指定されるCallableStatement
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合String nativeSQL(String sql) throws SQLException
sql
- 1つ以上の「?」パラメータ・プレースホルダーを含めることができるSQL文SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合void setAutoCommit(boolean autoCommit) throws SQLException
commit
メソッドまたはrollback
メソッドへの呼出しによって終了されるトランザクションにグループ化されます。デフォルトでは、新しい接続は自動コミット・モードです。
コミットは、文が完了すると発生します。文が完了するタイミングは、SQL文の種類によって異なります。
CallableStatement
オブジェクトの場合、または複数の結果を返す文の場合、文は関連するすべての結果セットが閉じられて、すべての更新カウントと出力パラメータが取得されると完了します。
注: トランザクションの途中でこのメソッドが呼び出され、自動コミット・モードが変更されると、そのトランザクションはコミットされます。setAutoCommit
が呼び出され、自動コミット・モードが変更されないと、呼出しによる操作は行われません。
autoCommit
- 自動コミット・モードを有効にする場合はtrue
、無効にする場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にsetAutoCommit(true)が呼び出された場合、またはこのメソッドがクローズされた接続について呼び出された場合getAutoCommit()
boolean getAutoCommit() throws SQLException
Connection
オブジェクトの現在の自動コミット・モードを取得します。Connection
オブジェクトの現在の自動コミット・モードの状態SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setAutoCommit(boolean)
void commit() throws SQLException
Connection
オブジェクトが現在保持するデータベース・ロックをすべて解除します。このメソッドは自動コミット・モードが無効になっているときしか使用できません。SQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnection
オブジェクトが自動コミット・モードである場合setAutoCommit(boolean)
void rollback() throws SQLException
Connection
オブジェクトが保持しているすべてのデータベース・ロックを解除します。このメソッドは自動コミット・モードが無効になっているときしか使用できません。SQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnection
オブジェクトが自動コミット・モードである場合setAutoCommit(boolean)
void close() throws SQLException
Connection
オブジェクトのデータベースとJDBCリソースを解除します。
すでにクローズされたConnection
オブジェクトでclose
メソッドを呼び出すと、操作は行われません。
close
メソッドの呼出し前に、アプリケーションでアクティブなトランザクションを明示的にコミットまたはロールバックすることを強くお薦めします。close
メソッドが呼び出され、かつアクティブなトランザクションが存在する場合、その結果は実装で定義されたものになります。
close
、インタフェース: AutoCloseable
SQLException
- データベース・アクセス・エラーが発生した場合はSQLExceptionboolean isClosed() throws SQLException
Connection
オブジェクトがクローズされているかどうかを取得します。接続は、close
メソッドが呼び出されるか、特定の致命的エラーが発生した場合にクローズされます。このメソッドは、Connection.close
メソッドが呼び出されたあとに呼び出された場合にだけtrue
を返すことが保証されています。
このメソッドは通常、データベースへの接続が有効か無効かを判定するために呼び出すことはできません。一般のクライアントでは、操作を実行したときにスローされる例外をキャッチすることにより、接続が無効であると判定します。
Connection
オブジェクトがクローズされている場合はtrue
、まだオープンの状態の場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合DatabaseMetaData getMetaData() throws SQLException
Connection
オブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaData
オブジェクトを取得します。メタデータは、データベースの表、サポートしているSQL文法、ストアド・プロシージャ、およびこの接続の能力などについての情報を含んでいます。Connection
オブジェクトのDatabaseMetaData
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合void setReadOnly(boolean readOnly) throws SQLException
注: トランザクションの途中では、このメソッドを呼び出すことはできません。
readOnly
- true
の場合は読込み専用モードを使用可能にし、false
の場合は使用不可にするSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続について呼び出された場合、またはこのメソッドがトランザクション中に呼び出された場合boolean isReadOnly() throws SQLException
Connection
オブジェクトが読込み専用モードかどうかを取得します。Connection
オブジェクトが読込み専用モードの場合はtrue
、そうでない場合はfalse
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合はSQLExceptionvoid setCatalog(String catalog) throws SQLException
Connection
オブジェクトのデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。
ドライバがカタログをサポートしていない場合は、この要求を無視します。
setCatalog
の呼出しは、前に作成または準備されたStatement
オブジェクトには影響を与えません。Connection
メソッドprepareStatement
またはprepareCall
が呼び出されたときにDBMS準備操作がただちに実行されるかどうかは、実装で定義されます。移植性を最大限にするには、Statement
の作成または準備の前にsetCatalog
を呼び出す必要があります。
catalog
- 作業のためのカタログ名。カタログは、このConnection
オブジェクトのデータベースのサブスペースSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合getCatalog()
String getCatalog() throws SQLException
Connection
オブジェクトの現在のカタログ名を取得します。null
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setCatalog(java.lang.String)
void setTransactionIsolation(int level) throws SQLException
Connection
オブジェクトのトランザクション遮断レベルを指定されたものに変更することを試みます。指定できるトランザクション遮断レベルの定数は、Connection
インタフェースで定義されています。
注: トランザクションの途中でこのメソッドが呼び出されると、その結果は実装で定義されたものになります。
level
- 次のConnection
定数。Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
、またはConnection.TRANSACTION_SERIALIZABLE
のいずれかです。Connection.TRANSACTION_NONE
はトランザクションがサポートされていないことを指定するので使用できない。SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータがConnection
定数のどれでもない場合DatabaseMetaData.supportsTransactionIsolationLevel(int)
, getTransactionIsolation()
int getTransactionIsolation() throws SQLException
Connection
オブジェクトの現在のトランザクション遮断レベルを取得します。Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
、Connection.TRANSACTION_SERIALIZABLE
、またはConnection.TRANSACTION_NONE
。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setTransactionIsolation(int)
SQLWarning getWarnings() throws SQLException
Connection
オブジェクトに関する呼出しによって報告される最初の警告を取得します。2つ以上の警告がある場合、後続の警告は最初の警告にチェーンされ、直前に取得された警告のSQLWarning.getNextWarning
メソッドを呼び出すことによって取得されます。
このメソッドはクローズされた接続の呼出しには使用しません。使用するとSQLException
がスローされます。
注: 後続の警告は、このSQLWarningにチェーンされます。
SQLWarning
オブジェクト。ない場合はnull
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLWarning
void clearWarnings() throws SQLException
Connection
オブジェクトに関して報告されたすべての警告をクリアします。このメソッドを呼び出したあと、このConnection
オブジェクトに対する新しい警告が通知されるまで、getWarnings
はnull
を返します。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合はSQLExceptionStatement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
ResultSet
オブジェクトを生成するStatement
オブジェクトを生成します。このメソッドは上記のcreateStatement
メソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。resultSetType
- 結果セットの型。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- 並行処理の種類。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
ResultSet
オブジェクトを生成する新しいStatement
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型と結果セットの並行処理でサポートされない場合PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
ResultSet
オブジェクトを生成するPreparedStatement
オブジェクトを生成します。このメソッドは上記のprepareStatement
メソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。sql
- SQL文がデータベースへ送られるString
オブジェクト。次のものを含めることができる: 1つ以上の'?'INパラメータresultSetType
- 結果セットの型。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- 並行処理の種類。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
ResultSet
オブジェクトを生成するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型と結果セットの並行処理でサポートされない場合CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
ResultSet
オブジェクトを生成するCallableStatement
オブジェクトを生成します。このメソッドは上記のprepareCall
メソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。sql
- SQL文がデータベースへ送られるString
オブジェクト。1つ以上の'?'パラメータを含めることができるresultSetType
- 結果セットの型。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- 並行処理の種類。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
CallableStatement
オブジェクト。指定された型および並行処理でResultSet
オブジェクトを生成するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型と結果セットの並行処理でサポートされない場合Map<String,Class<?>> getTypeMap() throws SQLException
Connection
オブジェクトに関連付けられたMap
オブジェクトを取得します。アプリケーションがエントリを追加していないかぎり、空のマップが返されます。
JDBCドライバは、setTypeMap
に渡されたMap
オブジェクトの内部コピーを作成することがあるため、getTypeMap
から返されたMap
オブジェクトの変更後、setTypeMap
を呼び出す必要があります。
Map<String,Class<?>> myMap = con.getTypeMap(); myMap.put("mySchemaName.ATHLETES", Athletes.class); con.setTypeMap(myMap);
Connection
オブジェクトに関連付けられたjava.util.Map
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)
void setTypeMap(Map<String,Class<?>> map) throws SQLException
Connection
オブジェクトの型マップとして、指定されたTypeMap
オブジェクトをインストールします。型マップは、SQL構造化型および個別の型のカスタム・マッピングに使用されます。
JDBCドライバはTypeMap
の内部コピーを作成することがあるため、setMap
を呼び出す前に、TypeMap
に値を設定する必要があります。
Map myMap<String,Class<?>> = new HashMap<String,Class<?>>(); myMap.put("mySchemaName.ATHLETES", Athletes.class); con.setTypeMap(myMap);
map
- このConnection
オブジェクトのデフォルトの型マップの代わりとしてインストールするjava.util.Map
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータがjava.util.Map
オブジェクトではない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合getTypeMap()
void setHoldability(int holdability) throws SQLException
Connection
オブジェクトを使用して生成されたResultSet
オブジェクトのデフォルトの保持機能を指定された保持機能へ変更します。ResultSet
オブジェクトのデフォルトの保持機能は、DatabaseMetaData.getResultSetHoldability()
を呼び出すことで調べることができます。holdability
- ResultSet
保持機能定数。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが保持機能を示すResultSet
定数ではない場合SQLFeatureNotSupportedException
- 指定された保持機能がサポートされていない場合getHoldability()
、DatabaseMetaData.getResultSetHoldability()
、ResultSet
int getHoldability() throws SQLException
Connection
オブジェクトを使用して生成されたResultSet
オブジェクトの現在の保持機能を取得します。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setHoldability(int)
、DatabaseMetaData.getResultSetHoldability()
、ResultSet
Savepoint setSavepoint() throws SQLException
Savepoint
オブジェクトを返します。
アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。
Savepoint
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnection
オブジェクトが現在自動コミット・モードである場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合Savepoint
Savepoint setSavepoint(String name) throws SQLException
Savepoint
オブジェクトを返します。
アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。
name
- セーブポイントの名前を格納するString
Savepoint
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnection
オブジェクトが現在自動コミット・モードである場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合Savepoint
void rollback(Savepoint savepoint) throws SQLException
Savepoint
オブジェクトが設定されたあとに行われたすべての変更を元に戻します。
このメソッドは自動コミットが無効のときにだけ使用します。
savepoint
- ロールバックするSavepoint
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、Savepoint
オブジェクトが有効でなくなった場合、またはこのConnection
オブジェクトが現在自動コミット・モードである場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合Savepoint
, rollback()
void releaseSavepoint(Savepoint savepoint) throws SQLException
Savepoint
オブジェクトと以降のSavepoint
オブジェクトを削除します。削除されたあとでセーブポイントを参照するとSQLException
がスローされます。savepoint
- 削除するSavepoint
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたSavepoint
オブジェクトが現在のトランザクションで有効なセーブポイントでない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
ResultSet
オブジェクトを生成するStatement
オブジェクトを生成します。このメソッドは上記のcreateStatement
メソッドと同じですが、デフォルトの結果セットの型、並行処理、および保持機能をオーバーライドできます。resultSetType
- ResultSet
定数。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- ResultSet
定数。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
resultSetHoldability
- ResultSet
定数。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
ResultSet
オブジェクトを生成する新しいStatement
オブジェクトSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSet
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
ResultSet
オブジェクトを生成するPreparedStatement
オブジェクトを生成します。
このメソッドは上記のprepareStatement
メソッドと同じですが、デフォルトの結果セットの型、並行処理、および保持機能をオーバーライドできます。
sql
- SQL文がデータベースへ送られるString
オブジェクト。次のものを含めることができる: 1つ以上の'?'INパラメータresultSetType
- ResultSet
定数。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- ResultSet
定数。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
resultSetHoldability
- ResultSet
定数。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
PreparedStatement
オブジェクト。指定された型、並行処理、および保持機能でResultSet
オブジェクトを生成するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSet
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
ResultSet
オブジェクトを生成するCallableStatement
オブジェクトを生成します。このメソッドは上記のprepareCall
メソッドと同じですが、デフォルトの結果セットの型、結果セットの並行処理の種類、および保持機能をオーバーライドできます。sql
- SQL文がデータベースへ送られるString
オブジェクト。1つ以上の'?'パラメータを含めることができるresultSetType
- ResultSet
定数。ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
、またはResultSet.TYPE_SCROLL_SENSITIVE
のうちの1つresultSetConcurrency
- ResultSet
定数。ResultSet.CONCUR_READ_ONLY
またはResultSet.CONCUR_UPDATABLE
resultSetHoldability
- ResultSet
定数。ResultSet.HOLD_CURSORS_OVER_COMMIT
またはResultSet.CLOSE_CURSORS_AT_COMMIT
CallableStatement
オブジェクト。指定された型、並行処理、および保持機能でResultSet
オブジェクトを生成するSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSet
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
PreparedStatement
オブジェクトを生成します。指定された定数によって、ドライバが自動生成キーを取得可能にするかどうかが指定されます。SQL文がINSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合、このパラメータは無視されます。このような文のリストはベンダー固有です。
注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。ドライバが、プリコンパイルをサポートしている場合、prepareStatement
メソッドは、その文をプリコンパイル用としてデータベースに送ります。ドライバによっては、プリコンパイルをサポートしていないものがあります。この場合、PreparedStatement
オブジェクトが実行されるまで、文はデータベースに送られません。これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。
返されるPreparedStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
sql
- 次を含めることができるSQL文: 1つ以上の'?'INパラメータ・プレースホルダーautoGeneratedKeys
- 自動生成キーを返すかどうかを示すフラグ。Statement.RETURN_GENERATED_KEYS
またはStatement.NO_GENERATED_KEYS
PreparedStatement
オブジェクト。自動生成キーを返す機能を持つSQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが自動生成キーを返すかどうかを示すStatement
定数でない場合SQLFeatureNotSupportedException
- JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
PreparedStatement
オブジェクトを生成します。この配列は検索可能にされる自動生成キーを含むターゲット表の列のインデックスを含みます。SQL文がINSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatement
オブジェクトに格納できます。その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。
注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。ドライバが、プリコンパイルをサポートしている場合、prepareStatement
メソッドは、その文をプリコンパイル用としてデータベースに送ります。ドライバによっては、プリコンパイルをサポートしていないものがあります。この場合、PreparedStatement
オブジェクトが実行されるまで、文はデータベースに送られません。これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。
返されるPreparedStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
sql
- 次を含めることができるSQL文: 1つ以上の'?'INパラメータ・プレースホルダーcolumnIndexes
- 挿入された行から返される列を示す列インデックスの配列PreparedStatement
オブジェクト。指定された列インデックスの配列によって指定される自動生成キーを返す機能を持つSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
PreparedStatement
オブジェクトを生成します。この配列は、返される自動生成キーを含むターゲット表の列の名前を含みます。SQL文がINSERT
文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。
INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatement
オブジェクトに格納できます。その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。
注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。ドライバが、プリコンパイルをサポートしている場合、prepareStatement
メソッドは、その文をプリコンパイル用としてデータベースに送ります。ドライバによっては、プリコンパイルをサポートしていないものがあります。この場合、PreparedStatement
オブジェクトが実行されるまで、文はデータベースに送られません。これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。
返されるPreparedStatement
オブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLY
の型で、CONCUR_READ_ONLY
の並行処理レベルを持ちます。作成された結果セットの保持機能は、getHoldability()
を呼び出すことで判断できます。
sql
- 次を含めることができるSQL文: 1つ以上の'?'INパラメータ・プレースホルダーcolumnNames
- 挿入された行から返される列を示す列名の配列PreparedStatement
オブジェクト。指定された列名の配列によって指定される自動生成キーを返す機能を持つSQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合Clob createClob() throws SQLException
Clob
インタフェースを実装しているオブジェクトを構築します。返されるオブジェクトは、初期状態ではデータが格納されていません。データをClob
に追加するには、Clob
インタフェースのsetAsciiStream
、setCharacterStream
、setString
の各メソッドを使用できます。Clob
インタフェースを実装しているオブジェクトSQLException
- Clob
インタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合Blob createBlob() throws SQLException
Blob
インタフェースを実装しているオブジェクトを構築します。返されるオブジェクトは、初期状態ではデータが格納されていません。データをBlob
に追加するには、Blob
インタフェースのsetBinaryStream
およびsetBytes
メソッドを使用できます。Blob
インタフェースを実装しているオブジェクトSQLException
- Blob
インタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合NClob createNClob() throws SQLException
NClob
インタフェースを実装しているオブジェクトを構築します。返されるオブジェクトは、初期状態ではデータが格納されていません。データをNClob
に追加するには、NClob
インタフェースのsetAsciiStream
、setCharacterStream
、setString
の各メソッドを使用できます。NClob
インタフェースを実装しているオブジェクトSQLException
- NClob
インタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合SQLXML createSQLXML() throws SQLException
SQLXML
インタフェースを実装しているオブジェクトを構築します。返されるオブジェクトは、初期状態ではデータが格納されていません。データをSQLXML
オブジェクトに追加するには、SQLXML
インタフェースのcreateXmlStreamWriter
オブジェクトとsetString
メソッドを使用できます。SQLXML
インタフェースを実装しているオブジェクトSQLException
- SQLXML
インタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合boolean isValid(int timeout) throws SQLException
接続を検証するためにドライバによって送信されるクエリーは、現在のトランザクションのコンテキストで実行されます。
timeout
- 接続を検証するために使用したデータベース操作の完了を待機する秒数。操作の完了前にタイム・アウト期間が過ぎると、このメソッドはfalseを返す。値0は、タイム・アウトがこのデータベース操作に適用されないことを示す
SQLException
- timeout
に指定された値が0より小さい場合DatabaseMetaData.getClientInfoProperties()
void setClientInfo(String name, String value) throws SQLClientInfoException
アプリケーションでは、ドライバでサポートされるクライアント情報プロパティ、および各プロパティに指定できる最大長を判断するために、DatabaseMetaData.getClientInfoProperties
メソッドを使用できます。
ドライバは、指定された値をデータベース内の適切な場所に格納します。たとえば、特殊なレジスタ、セッション・パラメータ、システム表の列などです。効率性の観点から、次に文が実行または準備されるまで、ドライバはデータベースへの値の設定を保留することがあります。クライアント情報をデータベース内の適切な場所に格納すること以外に、これらのメソッドが接続の動作を変更することはありません。これらのメソッドに指定された値は、検討、診断、およびデバッグの目的のみに使用されます。
指定されたクライアント情報名がドライバで認識されない場合、ドライバは警告を生成します。
このメソッドに指定された値がプロパティの最大長よりも長い場合、ドライバは値を切詰め、警告を生成するか、またはSQLClientInfoException
を生成する場合があります。ドライバがSQLClientInfoException
を生成した場合、指定された値は接続に設定されていません。
標準のクライアント情報プロパティを次に示します。ドライバでこれらのプロパティをサポートする必要はありませんが、いずれかの標準プロパティによって記述できるクライアント情報プロパティをサポートしている場合は、その標準プロパティ名を使用するようにしてください。
name
- 設定するクライアント情報プロパティの名前value
- クライアント情報プロパティに設定する値。値がnullの場合、指定されたプロパティの現在の値がクリアされる
SQLClientInfoException
- データベース・サーバーでクライアント情報値の設定中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
void setClientInfo(Properties properties) throws SQLClientInfoException
Properties
オブジェクトには、設定されるクライアント情報プロパティの名前と値が格納されています。プロパティ・リストに含まれるクライアント情報プロパティのセットによって、接続のクライアント情報プロパティの現在のセットが置き換えられます。現在接続で設定されているプロパティがプロパティ・リストに存在しない場合、そのプロパティはクリアされます。空のプロパティ・リストを指定すると、接続のすべてのプロパティがクリアされます。詳細は、setClientInfo (String, String)
を参照してください。
いずれかのクライアント情報プロパティの設定時にエラーが発生した場合、SQLClientInfoException
がスローされます。SQLClientInfoException
には、設定されなかったクライアント情報プロパティを示す情報が格納されています。一部のデータベースでは、複数のクライアント情報プロパティを原子的に設定することが許可されないため、クライアント情報の状態は不明です。そのようなデータベースでは、エラーが起きる前に1つ以上のプロパティが設定された可能性があります。
properties
- 設定するクライアント情報プロパティのリスト
SQLClientInfoException
- データベース・サーバーでクライアント情報値の設定中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合setClientInfo(String, String)
String getClientInfo(String name) throws SQLException
アプリケーションでは、ドライバでサポートされるクライアント情報プロパティを判断するために、DatabaseMetaData.getClientInfoProperties
メソッドを使用できます。
name
- 取得するクライアント情報プロパティの名前
SQLException
- データベースからクライアント情報値のフェッチ中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
DatabaseMetaData.getClientInfoProperties()
Properties getClientInfo() throws SQLException
Properties
オブジェクト。
SQLException
- データベースからクライアント情報値のフェッチ中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
Array createArrayOf(String typeName, Object[] elements) throws SQLException
注: createArrayOf
を使用して、プリミティブ・データ型にマッピングする配列オブジェクトを生成する場合、Array
オブジェクトがそのプリミティブ・データ型の配列とObject
の配列のどちらであるかは実装で定義されます。
注: JDBCドライバは、Object
配列の要素を、Object
の指定されたクラスについてjava.sql.Typesで定義されたデフォルトのJDBC SQL型にマッピングします。デフォルトのマッピングは、JDBC仕様の付録Bで指定されています。結果として得られるJDBC型が指定されたtypeNameに適した型ではない場合、SQLException
がスローされるか、それともドライバが結果として得られる変換をサポートするかについては、実装で定義されています。
typeName
- 配列の要素がマッピングされる型のSQL名。typeNameはデータベース固有の名前で、組込み型、ユーザー定義型、またはこのデータベースでサポートされる標準SQL型の名前のこと。これは、Array.getBaseTypeName
で返される値elements
- 返されるオブジェクトを生成する要素SQLException
- データベース・エラーが発生した場合、JDBC型がtypeNameに適しておらず、かつ変換がサポートされていない場合、typeNameがnullの場合、またはこのメソッドがクローズされた接続に対して呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合Struct createStruct(String typeName, Object[] attributes) throws SQLException
typeName
- このStruct
オブジェクトがマッピングされるSQL構造化型のSQL型名。typeNameは、このデータベースに定義されたユーザー定義型の名前。これは、Struct.getSQLTypeName
で返される値。attributes
- 返されるオブジェクトを生成する属性SQLException
- データベース・エラーが発生した場合、typeNameがnullの場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLFeatureNotSupportedException
- JDBCドライバがこのデータ型をサポートしない場合void setSchema(String schema) throws SQLException
ドライバがスキーマをサポートしていない場合は、この要求を無視します。
setSchema
の呼出しは、前に作成または準備されたStatement
オブジェクトには影響を与えません。Connection
メソッドprepareStatement
またはprepareCall
が呼び出されたときにDBMS準備操作がただちに実行されるかどうかは、実装で定義されます。移植性を最大限にするには、Statement
の作成または準備の前にsetSchema
を呼び出す必要があります。
schema
- 作業のためのスキーマ名SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合getSchema()
String getSchema() throws SQLException
Connection
オブジェクトの現在のスキーマ名を取得します。null
SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setSchema(java.lang.String)
void abort(Executor executor) throws SQLException
abort
呼出しの結果は次のとおりです。
SQLException
をスローさせる。
abort
を呼び出すと、接続がクローズとマークされ、すべてのリソースが解放されます。クローズしている接続に対してabort
を呼び出しても何も操作を行いません。
接続によって保持されているリソースの中止と解放には、かなりの時間がかかることがあります。abort
メソッドから戻ったときに、接続はクローズとマークされますが、パラメータとしてabortに渡されたExecutor
は引き続きタスクを実行し、リソースを解放している場合があります。
このメソッドは、メソッドの続行を許可する前に、SQLPermission
オブジェクトが存在するかどうかを確認します。SecurityManager
が存在し、そのcheckPermission
メソッドがabort
の呼出しを許可しない場合、このメソッドはjava.lang.SecurityException
をスローします。
executor
- abort
で使用されるExecutor
実装。SQLException
- データベース・アクセス・エラーが発生した場合、またはexecutor
がnull
の場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckPermission
メソッドがabort
の呼出しを拒否した場合SecurityManager.checkPermission(java.security.Permission)
, Executor
void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
Connection
またはConnection
から作成されたオブジェクトが、データベースが任意の1つの要求に応答するのを待つ最大期間を設定します。いずれかの要求が応答されないままの場合、待機中のメソッドがSQLException
で戻り、Connection
またはConnection
から作成されたオブジェクトがクローズとマークされます。その後のオブジェクトの使用は、close
、isClosed
、またはConnection.isValid
メソッドを除いて、SQLException
になります。
注: このメソッドは、ネットワーク・パーティションがソケット読取りでOS TCP-TIMEOUT (一般に10分)までJDBC呼出しを発行するスレッドを絶えずハング・アップさせる、めったにないが深刻な状況に対処するためのものです。このメソッドは、JDBC接続が管理者スレッドにアクセスできる場合に、管理者スレッドに、そのようなスレッドを解放する手段を提供するabort()
メソッドに関連しています。setNetworkTimeout
メソッドは、管理者スレッドがない場合や、接続にアクセスできない状況に対処します。このメソッドは、その効果が重大であるため、トランザクション・タイムアウトなどの通常のタイム・アウトの前にトリガーされないように、十分に大きな値を指定してください。
JDBCドライバの実装では、ネットワークが存在しない環境で、setNetworkTimeout
メソッドをサポートし、データベース応答時間に制限を課すことを選択することもできます。
ドライバは、複数のドライバとデータベース間の内部伝送によって、それらのAPI呼出しの一部またはすべてを内部で実装できますが、API呼び出しへの応答またはAPI呼出し時に行われた個々の要求に対し、常に制限を適用するかどうかの決定は、ドライバの実装に任されています。
このメソッドはJDBCコードの領域に制限を設定し、この領域から出るときに、デフォルトにリセットするなど、複数回呼び出すことができます。このメソッドの呼出しは、未処理の要求には無効です。
Statement.setQueryTimeout()
タイム・アウト値は、setNetworkTimeout
に指定されているタイム・アウト値から独立しています。ネットワークのタイム・アウトの前に、クエリーのタイム・アウトが期限切れになると、文の実行が取り消されます。ネットワークがまだアクティブな場合、文と接続の両方が使用可能なままになります。ただし、クエリーのタイム・アウトの前にネットワークのタイム・アウトが期限切れになるか、ネットワークの問題のために、文のタイム・アウトが失敗した場合、接続はクローズとマークされ、接続によって保持されているすべてのリソースが解放されて、接続と文の両方が使用不可になります。
ドライバがsetNetworkTimeout
タイム・アウト値が期限切れになったと判断すると、JDBCドライバは接続をクローズとマークして、接続によって保持されているすべてのリソースを解放します。
このメソッドは、メソッドの続行を許可する前に、SQLPermission
オブジェクトが存在するかどうかを確認します。SecurityManager
が存在し、そのcheckPermission
メソッドがsetNetworkTimeout
の呼出しを許可しない場合、このメソッドはjava.lang.SecurityException
をスローします。
executor
- setNetworkTimeout
で使用されるExecutor
実装。milliseconds
- データベース操作の完了を待機する時間(ミリ秒)。JDBCドライバがミリ秒をサポートしていない場合、秒単位に丸められる。操作の完了前にタイム・アウト期間が過ぎると、SQLExceptionがスローされる。0の値はデータベース操作にタイム・アウトがないことを示す。SQLException
- データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、executor
がnull
である場合、またはseconds
に指定された値が0未満の場合。SecurityException
- セキュリティ・マネージャが存在し、そのcheckPermission
メソッドがsetNetworkTimeout
の呼出しを拒否した場合。SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合SecurityManager.checkPermission(java.security.Permission)
, Statement.setQueryTimeout(int)
, getNetworkTimeout()
, abort(java.util.concurrent.Executor)
, Executor
int getNetworkTimeout() throws SQLException
SQLException
がスローされます。SQLException
- データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: Connection
SQLFeatureNotSupportedException
- JDBCドライバがこのメソッドをサポートしない場合setNetworkTimeout(java.util.concurrent.Executor, int)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.