public class DriverManager extends Object
一連のJDBCドライバを管理するための基本的なサービスです。
ノート: JDBC 2.0 APIで新しく追加されたDataSourceインタフェースを使用してデータ・ソースに接続することも可能です。 データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。
DriverManagerクラスは、初期化時にjdbc.driversシステム・プロパティで参照されるドライバ・クラスをロードしようとします。 これにより、ユーザーはアプリケーションで使用するJDBCドライバをカスタマイズできます。 たとえば、~/.hotjava/propertiesファイルで次の項目を指定します。
jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
DriverManagerメソッドgetConnectionとgetDriversは、Java Standard Edition サービス・プロバイダ・メカニズムをサポートするように拡張されました。 JDBC 4.0ドライバは、ファイルMETA-INF/services/java.sql.Driverを含める必要があります。 このファイルには、java.sql.DriverのJDBCドライバ実装の名前が含まれます。 たとえばmy.sql.Driverクラスをロードするために、META-INF/services/java.sql.Driverファイルに次のエントリが含まれます。
my.sql.Driver
アプリケーションでは、Class.forName()を使用してJDBCドライバを明示的にロードする必要がなくなりました。 現在Class.forName()を使用してJDBCドライバをロードする既存のプログラムは、変更なしで動作し続けます。
getConnectionメソッドが呼び出されると、DriverManagerは、初期化時にロードされたドライバや、現アプレットあるいはアプリケーションと同じクラス・ローダーを使用して明示的にロードされたドライバの中から適切なドライバを探そうとします。
Java 2 SDK, Standard Edition, Version 1.3以降は、ログ・ストリームは、適切なアクセス権が許可されている場合に限り設定できます。 通常これは、ツールPolicyToolを使用して行われます。このツールは、permission java.sql.SQLPermission "setLog"を許可するのに使用できます。
Driver, Connection| 修飾子と型 | メソッド | 説明 |
|---|---|---|
static void |
deregisterDriver(Driver driver) |
DriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。 |
static Connection |
getConnection(String url) |
指定されたデータベースのURLへの接続を試みます。
|
static Connection |
getConnection(String url, Properties info) |
指定されたデータベースのURLへの接続を試みます。
|
static Connection |
getConnection(String url, String user, String password) |
指定されたデータベースのURLへの接続を試みます。
|
static Driver |
getDriver(String url) |
指定されたURLを認識するドライバを獲得しようとします。
|
static Enumeration<Driver> |
getDrivers() |
現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。
|
static int |
getLoginTimeout() |
データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。
|
static PrintStream |
getLogStream() |
非推奨。
getLogWriterを使用してください |
static PrintWriter |
getLogWriter() |
ログ・ライターを取得します。
|
static void |
println(String message) |
現在のJDBCログ・ストリームにメッセージを印刷します。
|
static void |
registerDriver(Driver driver) |
指定されたドライバを
DriverManagerに登録します。 |
static void |
registerDriver(Driver driver, DriverAction da) |
指定されたドライバを
DriverManagerに登録します。 |
static void |
setLoginTimeout(int seconds) |
識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。
|
static void |
setLogStream(PrintStream out) |
非推奨。
setLogWriterを使用してください。 |
static void |
setLogWriter(PrintWriter out) |
DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。 |
public static PrintWriter getLogWriter()
get/setlogStreamメソッドの代わりにgetLogWriterメソッドおよびsetLogWriterメソッドを使用するべきです。 java.io.PrintWriterオブジェクトsetLogWriter(java.io.PrintWriter)public static void setLogWriter(PrintWriter out)
DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。
setLogWriterメソッドの導入によって、マイナー・バージョンの管理の問題が発生します。 setLogWriterメソッドはgetLogStreamによって返されるPrintStreamオブジェクトを生成できません。Javaプラットフォームには逆方向の変換はありません。 そのため、新しいアプリケーションで、setLogWriterを使用し、getLogStreamを使用しているJDBC 1.0ドライバも使用しているものは、そのドライバによって記述されたデバッグ情報を見ることができません。
Java 2 SDK, Standard Edition, Version 1.3リリース以降では、ログ・ストリームを設定する前に、SQLPermissionオブジェクトがあるかどうかをこのメソッドがチェックします。 SecurityManagerが存在し、そのcheckPermissionメソッドがログ・ライターの設定を許可しない場合、このメソッドはjava.lang.SecurityExceptionをスローします。
out - 新しいログおよびトレースのPrintStreamオブジェクト。ログおよびトレースを無効にする場合はnullSecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがログ・ライターの設定を拒否した場合SecurityManager.checkPermission(java.security.Permission), getLogWriter()public static Connection getConnection(String url, Properties info) throws SQLException
DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。
ノート: プロパティがurlの一部として指定され、Propertiesオブジェクトでも指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。
url - 次の形式のデータベースURL: jdbc:subprotocol:subnameinfo - 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「user」プロパティと「password」プロパティは指定するべきSQLException - データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException - ドライバが、setLoginTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在のデータベース接続試行の取消しを試みたときpublic static Connection getConnection(String url, String user, String password) throws SQLException
DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。
ノート: userまたはpasswordプロパティがurlの一部としても指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。
url - 次の形式のデータベースURL: jdbc:subprotocol:subnameuser - その代理として接続が行われるデータベース・ユーザーpassword - ユーザーのパスワードSQLException - データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException - ドライバが、setLoginTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在のデータベース接続試行の取消しを試みたときpublic static Connection getConnection(String url) throws SQLException
DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。 url - 次の形式のデータベースURL: jdbc:subprotocol:subnameSQLException - データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException - ドライバが、setLoginTimeoutメソッドで指定されたタイム・アウト値が経過したと判定し、少なくとも現在のデータベース接続試行の取消しを試みたときpublic static Driver getDriver(String url) throws SQLException
DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。 url - 形式jdbc:subprotocol:subnameのデータベースURLDriverオブジェクトSQLException - データベース・アクセス・エラーが発生した場合public static void registerDriver(Driver driver) throws SQLException
DriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。 driver - DriverManagerに登録される新しいJDBCドライバSQLException - データベース・アクセス・エラーが発生した場合NullPointerException - driverがnullの場合public static void registerDriver(Driver driver, DriverAction da) throws SQLException
DriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。 driver - DriverManagerに登録される新しいJDBCドライバda - DriverManager#deregisterDriverが呼び出されたときに使用するDriverAction実装SQLException - データベース・アクセス・エラーが発生した場合NullPointerException - driverがnullの場合public static void deregisterDriver(Driver driver) throws SQLException
DriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。
削除するドライバとしてnull値が指定された場合、アクションは実行されません。
セキュリティ・マネージャが存在し、そのcheckPermissionがアクセス権を拒否した場合は、SecurityExceptionがスローされます。
指定されたドライバが登録済ドライバ・リストにない場合、アクションは実行されません。 ドライバが見つからなかった場合、そのドライバは登録済ドライバ・リストから削除されます。
JDBCドライバの登録時にDriverActionインスタンスが指定された場合は、登録済ドライバ・リストからドライバが削除される前に、その登録解除メソッドが呼び出されます。
driver - 削除するJDBCドライバSQLException - データベース・アクセス・エラーが発生した場合SecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがドライバを登録解除するためのアクセス権を拒否した場合。SecurityManager.checkPermission(java.security.Permission)public static Enumeration<Driver> getDrivers()
ノート: ドライバのクラス名は、d.getClass().getName()を使用して見つけることができます
public static void setLoginTimeout(int seconds)
seconds - ログイン時間制限(秒単位)。ゼロは制限なしgetLoginTimeout()public static int getLoginTimeout()
setLoginTimeout(int)@Deprecated public static void setLogStream(PrintStream out)
setLogWriterを使用してください DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを設定します。
Java 2 SDK, Standard Edition, Version 1.3リリースでは、ログ・ストリームを設定する前に、SQLPermissionオブジェクトがあるかどうかをこのメソッドがチェックします。 SecurityManagerが存在し、そのcheckPermissionメソッドがログ・ライターの設定を許可しない場合、このメソッドはjava.lang.SecurityExceptionをスローします。
out - ログおよびトレースの新しいPrintStream。無効にする場合はnullに設定するSecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがログ・ストリームの設定を拒否した場合SecurityManager.checkPermission(java.security.Permission), getLogStream()@Deprecated public static PrintStream getLogStream()
getLogWriterを使用してください DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを取得します。nullsetLogStream(java.io.PrintStream)public static void println(String message)
message - ログ・メッセージまたはトレース・メッセージ バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。