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()
非推奨。
|
static PrintWriter |
getLogWriter()
ログライターを取得します。
|
static void |
println(String message)
現在の JDBC ログストリームにメッセージを印刷します。
|
static void |
registerDriver(Driver driver)
指定されたドライバを
DriverManager に登録します。 |
static void |
setLoginTimeout(int seconds)
データベースに接続しようとしているときに、ドライバが待つことのできる最長の時間を秒数で設定します。
|
static void |
setLogStream(PrintStream out)
非推奨。
|
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
オブジェクト。ログおよびトレースを無効にする場合は null
SecurityException
- セキュリティーマネージャーが存在し、その checkPermission
メソッドがログライターの設定を拒否した場合SecurityManager.checkPermission(java.security.Permission)
, getLogWriter()
public static Connection getConnection(String url, Properties info) throws SQLException
DriverManager
は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。url
- 次の形式のデータベース URL: jdbc:subprotocol:subname
info
- 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「user」プロパティーと「password」プロパティーは指定するべきSQLException
- データベースアクセスエラーが発生した場合public static Connection getConnection(String url, String user, String password) throws SQLException
DriverManager
は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。url
- 次の形式のデータベース URL: jdbc:subprotocol:subname
user
- その代理として接続が行われるデータベースユーザーpassword
- ユーザーのパスワードSQLException
- データベースアクセスエラーが発生した場合public static Connection getConnection(String url) throws SQLException
DriverManager
は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。url
- 次の形式のデータベース URL: jdbc:subprotocol:subname
SQLException
- データベースアクセスエラーが発生した場合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
- データベースアクセスエラーが発生した場合public static void deregisterDriver(Driver driver) throws SQLException
DriverManager
のリストからドライバを除外します。アプレットは、自身のクラスローダーからドライバを除くことだけが可能です。driver
- 除外する JDBC ドライバSQLException
- データベースアクセスエラーが発生した場合public static Enumeration<Driver> getDrivers()
注: ドライバのクラス名は、d.getClass().getName()
を使用して見つけることができます
public static void setLoginTimeout(int seconds)
seconds
- ログイン時間制限 (秒単位)。ゼロは制限なしgetLoginTimeout()
public static int getLoginTimeout()
setLoginTimeout(int)
public static void setLogStream(PrintStream out)
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()
public static PrintStream getLogStream()
DriverManager
およびすべてのドライバが使用する、ログおよびトレースの PrintStream を取得します。null
setLogStream(java.io.PrintStream)
public static void println(String message)
message
- ログメッセージまたはトレースメッセージ バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.