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, unwrapstatic 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、無効にする場合はfalseSQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間に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、インタフェース: AutoCloseableSQLException - データベース・アクセス・エラーが発生した場合はSQLExceptionboolean isClosed()
throws SQLException
Connectionオブジェクトがクローズされているかどうかを取得します。接続は、closeメソッドが呼び出されるか、特定の致命的エラーが発生した場合にクローズされます。このメソッドは、Connection.closeメソッドが呼び出されたあとに呼び出された場合にだけtrueを返すことが保証されています。
このメソッドは通常、データベースへの接続が有効か無効かを判定するために呼び出すことはできません。一般のクライアントでは、操作を実行したときにスローされる例外をキャッチすることにより、接続が無効であると判定します。
Connectionオブジェクトがクローズされている場合はtrue、まだオープンの状態の場合はfalseSQLException - データベース・アクセス・エラーが発生した場合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、そうでない場合はfalseSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合はSQLExceptionvoid setCatalog(String catalog) throws SQLException
Connectionオブジェクトのデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。
ドライバがカタログをサポートしていない場合は、この要求を無視します。
setCatalogの呼出しは、前に作成または準備されたStatementオブジェクトには影響を与えません。ConnectionメソッドprepareStatementまたはprepareCallが呼び出されたときにDBMS準備操作がただちに実行されるかどうかは、実装で定義されます。移植性を最大限にするには、Statementの作成または準備の前にsetCatalogを呼び出す必要があります。
catalog - 作業のためのカタログ名。カタログは、このConnectionオブジェクトのデータベースのサブスペースSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合getCatalog()String getCatalog() throws SQLException
Connectionオブジェクトの現在のカタログ名を取得します。nullSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合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オブジェクト。ない場合はnullSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合SQLWarningvoid 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_UPDATABLEResultSetオブジェクトを生成する新しい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_UPDATABLEResultSetオブジェクトを生成する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_UPDATABLECallableStatementオブジェクト。指定された型および並行処理で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_COMMITSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが保持機能を示すResultSet定数ではない場合SQLFeatureNotSupportedException - 指定された保持機能がサポートされていない場合getHoldability()、DatabaseMetaData.getResultSetHoldability()、ResultSetint getHoldability()
throws SQLException
Connectionオブジェクトを使用して生成されたResultSetオブジェクトの現在の保持機能を取得します。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMITSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合setHoldability(int)、DatabaseMetaData.getResultSetHoldability()、ResultSetSavepoint setSavepoint() throws SQLException
Savepointオブジェクトを返します。
アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。
SavepointオブジェクトSQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが現在自動コミット・モードである場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合SavepointSavepoint setSavepoint(String name) throws SQLException
Savepointオブジェクトを返します。
アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。
name - セーブポイントの名前を格納するStringSavepointオブジェクトSQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが現在自動コミット・モードである場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合Savepointvoid 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_UPDATABLEresultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMITResultSetオブジェクトを生成する新しいStatementオブジェクトSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSetPreparedStatement 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_UPDATABLEresultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMITPreparedStatementオブジェクト。指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSetCallableStatement 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_UPDATABLEresultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMITCallableStatementオブジェクト。指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するSQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合ResultSetPreparedStatement 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_KEYSPreparedStatementオブジェクト。自動生成キーを返す機能を持つ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オブジェクトの現在のスキーマ名を取得します。nullSQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合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), Executorvoid 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), Executorint getNetworkTimeout()
throws SQLException
SQLExceptionがスローされます。SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: ConnectionSQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合setNetworkTimeout(java.util.concurrent.Executor, int) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.