モジュール java.sql
パッケージ java.sql

クラスDriverManager


  • public class DriverManager
    extends Object
    一連のJDBCドライバを管理するための基本的なサービスです。

    注意: DataSourceインタフェースは、データソースに接続する別の方法を提供します。 データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。

    DriverManagerクラスは、初期化の一環として、次の方法で使用可能なJDBCドライバをロードしようとします:

    実装上のノート:
    DriverManagerの初期化は遅れて実行され、スレッド・コンテキスト・クラス・ローダーを使用してサービス・プロバイダを検索します。 アプリケーションにロードされ、使用可能なドライバは、DriverManagerによるドライバの初期化をトリガーするスレッドのスレッド・コンテキスト・クラス・ローダーによって異なります。

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

    導入されたバージョン:
    1.1
    関連項目:
    Driver, Connection
    • メソッドの詳細

      • getLogWriter

        public static PrintWriter getLogWriter()
        ログ・ライターを取得します。 非推奨のget/setlogStreamメソッドの代わりにgetLogWriterメソッドおよびsetLogWriterメソッドを使用するべきです。
        戻り値:
        java.io.PrintWriterオブジェクト
        導入されたバージョン:
        1.2
        関連項目:
        setLogWriter(java.io.PrintWriter)
      • setLogWriter

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

        セキュリティ・マネージャが存在する場合、そのcheckPermissionメソッドが最初にSQLPermission("setLog")アクセス許可で呼び出され、呼び出し元がsetLogWriterを呼び出すことが許可されているかどうかがチェックされます。

        パラメータ:
        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の一部として指定され、Propertiesオブジェクトでも指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。

        パラメータ:
        url - 次の形式のデータベースURL: jdbc:subprotocol:subname
        info - 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「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:subname
        user - その代理として接続が行われるデータベース・ユーザー
        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メソッドがドライバを登録解除するためのアクセス権を拒否した場合。
        関連項目:
        SecurityManager.checkPermission(java.security.Permission)
      • getDrivers

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

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

        戻り値:
        呼出し元のクラス・ローダーによってロードされるJDBCドライバのリスト
        関連項目:
        drivers()
      • drivers

        public static Stream<Driver> drivers()
        現在の呼び出し元がアクセスしている、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。
        戻り値:
        呼び出し元クラス・ローダーによってロードされたJDBCドライバのストリーム
        導入されたバージョン:
        9
      • setLoginTimeout

        public static void setLoginTimeout​(int seconds)
        識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。
        パラメータ:
        seconds - ログイン時間制限(秒単位)。ゼロは制限なし
        関連項目:
        getLoginTimeout()
      • getLoginTimeout

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

        @Deprecated(since="1.2")
        public static void setLogStream​(PrintStream out)
        非推奨。
        setLogWriterを使用
        DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを設定します。

        セキュリティ・マネージャが存在する場合、そのcheckPermissionメソッドが最初にSQLPermission("setLog")アクセス許可で呼び出され、呼び出し元がsetLogStreamを呼び出すことが許可されているかどうかがチェックされます。

        パラメータ:
        out - ログおよびトレースの新しいPrintStream。無効にする場合はnullに設定する
        例外:
        SecurityException - セキュリティ・マネージャが存在し、checkPermissionメソッドがログ・ストリームを設定する許可を拒否した場合。
        関連項目:
        SecurityManager.checkPermission(java.security.Permission), getLogStream()
      • getLogStream

        @Deprecated(since="1.2")
        public static PrintStream getLogStream()
        非推奨。
        getLogWriterを使用
        DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを取得します。
        戻り値:
        ログおよびトレースのPrintStream。無効な場合はnull
        関連項目:
        setLogStream(java.io.PrintStream)
      • println

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