Spec-Zone.ru › OpenJDK 8

Класс DriverManager

  • java.lang.Object
    • java.sql.DriverManager

public class DriverManager
extends Object

Основной сервис для управления набором драйверов JDBC.
ПРИМЕЧАНИЕ: Интерфейс DataSource, новый в API JDBC 2.0, предоставляет другой способ подключения к источнику данных. Использование объекта DataSource является предпочтительным способом подключения к источнику данных.

В рамках своей инициализации класс DriverManager попытается загрузить классы драйверов, указанные в системной переменной "jdbc.drivers". Это позволяет пользователю настраивать драйверы JDBC, используемые их приложениями. Например, в файле ~/.hotjava/properties можно указать:

jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver

Методы DriverManager getConnection и getDrivers были усовершенствованы для поддержки механизма поставщиков услуг Java Standard Edition Service Provider. Драйверы JDBC 4.0 должны включать файл META-INF/services/java.sql.Driver. Этот файл содержит имя реализации драйвера JDBC для java.sql.Driver. Например, для загрузки класса my.sql.Driver, файл META-INF/services/java.sql.Driver будет содержать запись:

my.sql.Driver

Приложениям больше не нужно явно загружать драйверы JDBC с помощью Class.forName(). Существующие программы, которые в настоящее время загружают драйверы JDBC с помощью Class.forName(), будут продолжать работать без изменений.

Когда вызывается метод 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, к которым имеет доступ текущий вызывающий объект.

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)

Устанавливает объект регистрирования/отслеживания PrintWriter, используемый DriverManager и всеми драйверами.

Методы, унаследованные от класса 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)

Устанавливает объект потока для регистрации/отслеживания PrintWriter, используемый менеджером драйверов DriverManager и всеми драйверами.

Введение метода setLogWriter создает небольшую проблему с версионированием. Метод setLogWriter не может создать объект PrintStream, который будет возвращён методом getLogStream—платформа Java не предоставляет обратной конвертации. В результате, новые приложения, использующие setLogWriter и драйвер JDBC 1.0, использующий getLogStream, вероятно, не увидят отладочную информацию, записанную этим драйвером.

Начиная с 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 и также указано в объекте Properties, то значение, которое будет иметь приоритет, определяется реализацией. Для максимальной переносимости приложения должно указывать свойство только один раз.

Параметры:
url - URL базы данных в формате jdbc:subprotocol:subname
info - список произвольных пар тег/значение в качестве аргументов подключения; обычно необходимо включить хотя бы свойства "user" и "password"
Возвращает:
соединение с URL
Исключения:
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 - URL базы данных в формате jdbc:subprotocol:subname
Возвращает:
объект Driver, представляющий драйвер, который может подключиться к данному URL
Исключения:
SQLException - если произошла ошибка доступа к базе данных

registerDriver

public static void registerDriver(Driver driver)
                           throws SQLException

Регистрирует указанный драйвер в DriverManager. Новый загруженный класс драйвера должен вызвать метод registerDriver для уведомления DriverManager. Если драйвер уже зарегистрирован, никаких действий не выполняется.

Параметры:
driver - новый драйвер JDBC, который нужно зарегистрировать в DriverManager
Исключения:
SQLException - если произошла ошибка доступа к базе данных
NullPointerException - если driver равно null

registerDriver

public static void registerDriver(Driver driver,
                                  DriverAction da)
                           throws SQLException

Регистрирует указанный драйвер в DriverManager. Новый загруженный класс драйвера должен вызвать метод registerDriver для уведомления DriverManager. Если драйвер уже зарегистрирован, никаких действий не выполняется.

Параметры:
driver - новый драйвер JDBC, который нужно зарегистрировать в DriverManager
da - реализация DriverAction для использования при вызове метода DriverManager#deregisterDriver
Исключения:
SQLException - если произошла ошибка доступа к базе данных
NullPointerException - если driver равно null
С:
1.8

deregisterDriver

public static void deregisterDriver(Driver driver)
                             throws SQLException

Удаляет указанный драйвер из списка зарегистрированных драйверов DriverManager.

Если для удаления драйвера указано значение null, то никаких действий не выполняется.

Если менеджер безопасности существует и его метод checkPermission запрещает разрешение, то будет выброшено исключение SecurityException.

Если указанный драйвер не найден в списке зарегистрированных драйверов, то никаких действий не выполняется. Если драйвер был найден, он будет удален из списка зарегистрированных драйверов.

Если при регистрации JDBC-драйвера был указан объект DriverAction, его метод deregister будет вызван перед удалением драйвера из списка зарегистрированных драйверов.

Параметры:
driver - JDBC драйвер для удаления
Исключения:
SQLException - если произошла ошибка доступа к базе данных
SecurityException - если менеджер безопасности существует и его метод checkPermission запрещает разрешение на дерегистрацию драйвера.
См. также:
SecurityManager.checkPermission(java.security.Permission)

getDrivers

public static Enumeration<Driver> getDrivers()

Возвращает перечисление всех загруженных в данный момент JDBC-драйверов, к которым текущий вызывающий поток имеет доступ.

Примечание: Имя класса драйвера можно получить с помощью d.getClass().getName()

Возвращает:
список JDBC-драйверов, загруженных загрузчиком классов вызывающего потока

setLoginTimeout

public static void setLoginTimeout(int seconds)

Устанавливает максимальное время в секундах, которое драйвер будет ждать при попытке подключения к базе данных после идентификации драйвера.

Параметры:
seconds - лимит времени входа в секунды; ноль означает отсутствие ограничения
См. также:
getLoginTimeout()

getLoginTimeout

public static int getLoginTimeout()

Получает максимальное время в секундах, которое драйвер может ждать при попытке входа в базу данных.

Возвращает:
лимит времени входа в драйвер в секундах
См. также:
setLoginTimeout(int)

setLogStream

@Deprecated
public static void setLogStream(PrintStream out)

Устарело. Используйте setLogWriter

Устанавливает объект потока для регистрации/отслеживания PrintStream, используемый менеджером драйверов DriverManager и всеми драйверами.

В Java 2 SDK, Standard Edition, версии 1.3 этот метод проверяет, существует ли объект SQLPermission перед установкой потока регистрации. Если объект SecurityManager существует и его метод checkPermission запрещает установку объекта записи журнала, этот метод генерирует исключение java.lang.SecurityException.

Параметры:
out - новый поток регистрации/отслеживания PrintStream; для отключения, установите в null
Исключения:
SecurityException - если менеджер безопасности существует и его метод checkPermission запрещает установку потока регистрации
См. также:
SecurityManager.checkPermission(java.security.Permission), getLogStream()

getLogStream

@Deprecated
public static PrintStream getLogStream()

Устарело. Используйте getLogWriter

Возвращает поток регистрации/отслеживания PrintStream, используемый менеджером драйверов DriverManager и всеми драйверами.

Возвращает:
потоки вывода PrintStream для ведения журнала/отслеживания; если отключено, это null
См. также:
setLogStream(java.io.PrintStream)

println

public static void println(String message)

Выводит сообщение в текущий поток JDBC-журнала.

Параметры:
message - сообщение журнала или отслеживания

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API