JavaTM 2 Platform
Std. Ed. v1.3

java.sql
クラス DriverManager

java.lang.Object
  |
  +--java.sql.DriverManager

public class DriverManager
extends Object

JDBC ドライバを管理するための基本的なサービスです。
注: JDBC 2.0 API で新しく追加された DataSource インタフェースは、データソースに接続するもう 1 つの方法を提供しています。DataSource オブジェクトを使用してデータソースへ接続することをお勧めします。

DriverManager クラスは、初期化時に "jdbc.drivers" システムプロパティで参照されるドライバクラスをロードしようとします。これにより、ユーザはアプリケーションで使用する JDBC Driver をカスタマイズできます。たとえば、~/.hotjava/properties ファイルで次の項目を指定します。

 jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
 
プログラムは、いつでも JDBC ドライバをロードすることができます。たとえば、次の文で my.sql.Driver がロードされます。
 Class.forName("my.sql.Driver");
 

getConnection メソッドが呼び出されると、DriverManager は、初期化時にロードされたドライバや、現アプレットあるいはアプリケーションと同じクラスローダを使用して明示的にロードされたドライバの中から適切なドライバを探そうとします。

Java 2 SDK, Standard Edition, バージョン 1.3 以降は、ログストリームは、適切なアクセス権が許可されている場合にかぎり設定できます。通常これは、ツール PolicyTool を使用して行われます。このツールは、permission java.sql.SQLPermission "setLog" を許可するのに使用できます。

関連項目:
Driver, Connection

メソッドの概要
static void deregisterDriver(Driver driver)
          DriverManager のリストから Driver を除外します。
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 getDrivers()
          現在の呼び出し元がアクセスしている、ロードされているすべての JDBC ドライバの Enumeration を取得します。
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 オブジェクトを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getLogWriter

public static PrintWriter getLogWriter()
ログライターを取得します。 getLogWriter メソッドおよび setLogWriter メソッドは、推奨されない get/setlogStream メソッドの代わりに使用します。
戻り値:
java.io.PrintWriter オブジェクト
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

setLogWriter

public static void setLogWriter(PrintWriter out)
DriverManager およびすべてのドライバが使用する、ログおよびトレースの PrintWriter オブジェクトを設定します。

setLogWriter メソッドの導入によって、マイナーバージョンの管理の問題が発生します。SetLogWriter メソッドは getLogStream によって返される PrintStream オブジェクトを生成できません。Java プラットフォームには逆方向の変換はありません。そのため、新しいアプリケーションで、setLogWriter を使用し、getLogStream を使用している JDBC 1.0 ドライバをも使用しているものは、そのドライバによって記述されたデバッグ情報を見ることができません。

Java 2 SDK, Standard Edition, バージョン 1.3 リリースでは、ログストリームを設定する前に、SQLPermission オブジェクトがあるかどうかをこのメソッドがチェックします。SecurityManager が存在し、その checkPermission メソッドがログライターの設定を許可しない場合、このメソッドは java.lang.SecurityException をスローします。

パラメータ:
out - 新しいログおよびトレースの PrintStream オブジェクト。ログおよびトレースを無効にする場合は null
例外:
SecurityException - セキュリティマネージャが存在し、その checkPermission メソッドがログライターの設定を拒否した場合
導入されたバージョン:
1.2
関連項目:
SecurityManager.checkPermission(java.security.Permission), 「JDBC 2.0 API に含まれるもの」

getConnection

public static Connection getConnection(String url,
                                       Properties info)
                                throws SQLException
指定されたデータベースの URL への接続を確立しようと試みます。DriverManager は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。
パラメータ:
url - jdbc:subprotocol:subname 形式のデータベース URL
info - 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも "user" プロパティと "password" プロパティは指定しなければならない
戻り値:
URL への Connection
例外:
SQLException - データベースアクセスエラーが発生した場合

getConnection

public static Connection getConnection(String url,
                                       String user,
                                       String password)
                                throws SQLException
指定されたデータベースの URL への接続を確立しようと試みます。DriverManager は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。
パラメータ:
url - jdbc:subprotocol:subname 形式のデータベース URL
user - その代理として接続が行われるデータベースユーザ
password - ユーザのパスワード
戻り値:
URL への接続
例外:
SQLException - データベースアクセスエラーが発生した場合

getConnection

public static Connection getConnection(String url)
                                throws SQLException
指定されたデータベースの URL への接続を試みます。DriverManager は、登録された JDBC ドライバの集合から適切なドライバを選択しようとします。
パラメータ:
url - jdbc:subprotocol:subname 形式のデータベース URL
戻り値:
URL への接続
例外:
SQLException - データベースアクセスエラーが発生した場合

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 Driver
例外:
SQLException - データベースアクセスエラーが発生した場合

deregisterDriver

public static void deregisterDriver(Driver driver)
                             throws SQLException
DriverManager のリストから Driver を除外します。アプレットは、自身のクラスローダから Driver を除くことだけが可能です。
パラメータ:
driver - 除外する JDBC Driver
例外:
SQLException - データベースアクセスエラーが発生した場合

getDrivers

public static Enumeration getDrivers()
現在の呼び出し元がアクセスしている、ロードされているすべての JDBC ドライバの Enumeration を取得します。

注: ドライバのクラス名は、d.getClass().getName() を使用して見つけることができます。

戻り値:
呼び出し元のクラスローダによってロードされる JDBC Driver のリスト

setLoginTimeout

public static void setLoginTimeout(int seconds)

データベースに接続しようとしているときに、ドライバが待つことのできる最長の時間を秒数で設定します。

パラメータ:
seconds - ログインのタイムリミット (秒単位)

getLoginTimeout

public static int getLoginTimeout()
データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。
戻り値:
ドライバのログインのタイムリミット (秒単位)

setLogStream

public static void setLogStream(PrintStream out)
推奨されていません。  

DriverManager およびすべてのドライバが使用する、ログおよびトレースの PrintStream を設定します。

Java 2 SDK, Standard Edition, バージョン 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 を取得します。
戻り値:
ログおよびトレースの PrintStream。無効な場合は null

println

public static void println(String message)
現在の JDBC ログストリームにメッセージを印刷します。
パラメータ:
message - ログメッセージまたはトレースメッセージ

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.