JavaTM 2 Platform
Standard Ed. 5.0

java.sql
クラス DriverManager

java.lang.Object
  上位を拡張 java.sql.DriverManager

public class DriverManager
extends Object

一連の JDBC ドライバを管理するための基本的なサービスです。
注: JDBC 2.0 API で新しく追加された DataSource インタフェースを使用してデータソースに接続することも可能です。データソースへの接続時には 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 のリストからドライバを除外します。
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 ドライバの Enumeration を取得します。
static int getLoginTimeout()
          データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。
static PrintStream getLogStream()
          推奨されていません。 @see #setLogStream
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)
          推奨されていません。 @throws SecurityException - セキュリティマネージャが存在し、その checkPermission メソッドがログストリームの設定を拒否した場合
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
関連項目:
setLogWriter(java.io.PrintWriter)

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), getLogWriter()

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

getDrivers

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

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

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

setLoginTimeout

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

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

getLoginTimeout

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

戻り値:
ドライバのログインのタイムリミット (秒単位)
関連項目:
setLoginTimeout(int)

setLogStream

@Deprecated
public static void setLogStream(PrintStream out)
推奨されていません。 @throws SecurityException - セキュリティマネージャが存在し、その checkPermission メソッドがログストリームの設定を拒否した場合

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

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

パラメータ:
out - ログおよびトレースの新しい PrintStream。無効にする場合は null
関連項目:
SecurityManager.checkPermission(java.security.Permission), getLogStream()

getLogStream

@Deprecated
public static PrintStream getLogStream()
推奨されていません。 @see #setLogStream

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

戻り値:
ログおよびトレースの PrintStream。無効な場合は null

println

public static void println(String message)
現在の JDBC ログストリームにメッセージを印刷します。

パラメータ:
message - ログメッセージまたはトレースメッセージ

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。