public interface Connection extends Wrapper, AutoCloseable
特定のデータベースとの接続 (セッション) を表現します。接続のコンテキスト内で SQL 文が実行され結果が返されます。
Connection
オブジェクト中のデータベースは、テーブル、サポートしている SQL 文法、ストアドプロシージャー、およびこの接続の能力などについての情報を提供します。この情報は、getMetaData
メソッドで取得できます。
注: Connection
を構成するときに、JDBC アプリケーションでは 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 文。通常この文は、JBDC 呼び出しのエスケープ構文を使用して指定される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, 2013, Oracle and/or its affiliates. All rights reserved.