注意: DataSourceインタフェースは、データ・ソースに接続するための別の方法を提供します。 データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。
初期化の一環として、DriverManagerクラスは次を使用して、使用可能なJDBCドライバのロードを試行します:
- JDBCドライバの完全修飾クラス名のコロン区切りのリストを含む
jdbc.driversシステム・プロパティ。 各ドライバは、システム・クラス・ローダー:jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
- サービス・プロバイダのロード・メカニズムによってロードされる、
java.sql.Driverクラスのサービス・プロバイダ。
- 実装上のノート:
DriverManager初期化は遅延して実行され、スレッド・コンテキスト・クラス・ローダーを使用してサービス・プロバイダを検索します。 アプリケーションにロードされ、使用可能なドライバは、DriverManagerによるドライバの初期化をトリガーするスレッドのスレッド・コンテキスト・クラス・ローダーによって異なります。メソッド
getConnectionがコールされると、DriverManagerは、初期化時にロードされたドライバと、現在のアプリケーションと同じクラス・ローダーを使用して明示的にロードされたドライバの中から、適切なドライバを検出しようとします。- 導入されたバージョン:
- 1.1
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明static voidderegisterDriver(Driver driver) DriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。drivers()現在の呼出し元がアクセスできる、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。static ConnectiongetConnection(String url) 指定されたデータベースのURLへの接続を試みます。static ConnectiongetConnection(String url, String user, String password) 指定されたデータベースのURLへの接続を試みます。static ConnectiongetConnection(String url, Properties info) 指定されたデータベースのURLへの接続を試みます。static Driver指定されたURLを認識するドライバを獲得しようとします。static Enumeration<Driver> 現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。static intデータベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。static PrintStream非推奨。static PrintWriterログ・ライターを取得します。static void現在のJDBCログ・ストリームにメッセージを印刷します。static voidregisterDriver(Driver driver) 指定されたドライバをDriverManagerに登録します。static voidregisterDriver(Driver driver, DriverAction da) 指定されたドライバをDriverManagerに登録します。static voidsetLoginTimeout(int seconds) 識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。static voidsetLogStream(PrintStream out) 非推奨。setLogWriterを使用static voidsetLogWriter(PrintWriter out) DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。
-
メソッドの詳細
-
getLogWriter
public static PrintWriter getLogWriter()ログ・ライターを取得します。 非推奨のget/setlogStreamメソッドの代わりにgetLogWriterメソッドおよびsetLogWriterメソッドを使用するべきです。- 戻り値:
java.io.PrintWriterオブジェクト- 導入されたバージョン:
- 1.2
- 関連項目:
-
setLogWriter
public static void setLogWriter(PrintWriter out) DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドが最初にSQLPermission("setLog")権限でコールされ、コール元がsetLogWriterをコールできるかどうかが確認されます。- パラメータ:
out- 新しいログおよびトレースのPrintStreamオブジェクト。ログおよびトレースを無効にする場合はnull- スロー:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがログ・ライターの設定権限を拒否した場合。- 導入されたバージョン:
- 1.2
- 関連項目:
-
getConnection
public static Connection getConnection(String url, Properties info) throws SQLException 指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。ノート: プロパティが
urlの一部として指定され、Propertiesオブジェクトでも指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subnameinfo- 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「user」プロパティと「password」プロパティは指定するべき- 戻り値:
- URLへのConnection
- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getConnection
public static Connection getConnection(String url, String user, String password) throws SQLException 指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。ノート:
userまたはpasswordプロパティがurlの一部としても指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subnameuser- その代理として接続が行われるデータベース・ユーザーpassword- ユーザーのパスワード- 戻り値:
- URLへの接続
- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getConnection
public static Connection getConnection(String url) throws SQLException 指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subname- 戻り値:
- URLへの接続
- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getDriver
public static Driver getDriver(String url) throws SQLException 指定されたURLを認識するドライバを獲得しようとします。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。- パラメータ:
url- 形式jdbc:subprotocol:subnameのデータベースURL- 戻り値:
- 指定されたURLに接続できるドライバを表す
Driverオブジェクト - スロー:
SQLException- データベース・アクセス・エラーが発生した場合
-
registerDriver
public static void registerDriver(Driver driver) throws SQLException 指定されたドライバをDriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。- パラメータ:
driver-DriverManagerに登録される新しいJDBCドライバ- スロー:
SQLException- データベース・アクセス・エラーが発生した場合NullPointerException-driverがnullの場合
-
registerDriver
public static void registerDriver(Driver driver, DriverAction da) throws SQLException 指定されたドライバをDriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。- パラメータ:
driver-DriverManagerに登録される新しいJDBCドライバda-DriverManager#deregisterDriverが呼び出されたときに使用するDriverAction実装- スロー:
SQLException- データベース・アクセス・エラーが発生した場合NullPointerException-driverがnullの場合- 導入されたバージョン:
- 1.8
-
deregisterDriver
public static void deregisterDriver(Driver driver) throws SQLException DriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。削除するドライバとして
null値が指定された場合、アクションは実行されません。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドが最初にSQLPermission("deregisterDriver")権限でコールされ、コール元がJDBCドライバの登録解除を許可されていることが確認されます。指定されたドライバが登録済ドライバ・リストにない場合、アクションは実行されません。 ドライバが見つからなかった場合、そのドライバは登録済ドライバ・リストから削除されます。
JDBCドライバの登録時に
DriverActionインスタンスが指定された場合は、登録済ドライバ・リストからドライバが削除される前に、その登録解除メソッドが呼び出されます。- パラメータ:
driver- 削除するJDBCドライバ- スロー:
SQLException- データベース・アクセス・エラーが発生した場合SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがドライバを登録解除するためのアクセス権を拒否した場合。- 関連項目:
-
getDrivers
public static Enumeration<Driver> getDrivers()現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。ノート: ドライバのクラス名は、
d.getClass().getName()を使用して見つけることができます- 戻り値:
- 呼出し元のクラス・ローダーによってロードされるJDBCドライバのリスト
- 関連項目:
-
drivers
現在の呼出し元がアクセスできる、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。- 戻り値:
- 呼出し元のクラス・ローダーによってロードされるJDBCドライバのストリーム
- 導入されたバージョン:
- 9
-
setLoginTimeout
public static void setLoginTimeout(int seconds) 識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。- パラメータ:
seconds- ログイン時間制限(秒単位)。ゼロは制限なし- 関連項目:
-
getLoginTimeout
public static int getLoginTimeout()データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。- 戻り値:
- ドライバのログインのタイム・リミット(秒単位)
- 関連項目:
-
setLogStream
@Deprecated(since="1.2") public static void setLogStream(PrintStream out) 非推奨。setLogWriterを使用DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを設定します。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドが最初にSQLPermission("setLog")権限でコールされ、コール元がsetLogStreamをコールできるかどうかが確認されます。- パラメータ:
out- ログおよびトレースの新しいPrintStream。無効にする場合はnullに設定する- スロー:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがログ・ストリームの設定権限を拒否した場合。- 関連項目:
-
getLogStream
@Deprecated(since="1.2") public static PrintStream getLogStream()非推奨。getLogWriterを使用DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを取得します。- 戻り値:
- ログおよびトレースのPrintStream。無効な場合は
null - 関連項目:
-
println
public static void println(String message) 現在のJDBCログ・ストリームにメッセージを印刷します。- パラメータ:
message- ログ・メッセージまたはトレース・メッセージ
-
getLogWriterを使用