Spec-Zone .ru
спецификации, руководства, описания, API
|
public class DriverManager extends Object
Основная услуга для того, чтобы управлять рядом драйверов JDBC.
ОТМЕТЬТЕ: DataSource
интерфейс, новый в JDBC 2.0 API, обеспечивает другой способ соединиться с источником данных. Использование a DataSource
объект является привилегированными средствами соединения с источником данных.
Как часть его инициализации, DriverManager
class попытается загрузить классы драйвера, на которые ссылаются в "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
. Этот файл содержит имя реализации драйверов JDBC java.sql.Driver
. Например, чтобы загрузиться my.sql.Driver
class, META-INF/services/java.sql.Driver
файл содержал бы запись:
my.sql.Driver
Приложения больше не должны к explictly загрузить использование драйверов JDBC Class.forName()
. Существующие программы, которые в настоящий момент загружают использование драйверов JDBC Class.forName()
будет продолжать работать без модификации.
Когда метод getConnection
вызывается, DriverManager
попытается определить местоположение подходящего драйвера от среди загруженных в инициализации и загруженных явно использование того же самого classloader как текущий апплет или приложение.
Запускаясь с Java, 2 SDK, Standard Edition, версия 1.3, поток журналирования могут быть установлены, только если надлежащее разрешение предоставили. Обычно это будет сделано с инструментом PolicyTool, который может использоваться, чтобы предоставить permission java.sql.SQLPermission "setLog"
.
Driver
, Connection
Модификатор и Тип | Метод и Описание |
---|---|
static void |
deregisterDriver(Driver driver)
Удаляет указанный драйвер из
DriverManager 's список зарегистрированных драйверов. |
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 и все драйверы. |
public static PrintWriter getLogWriter()
getLogWriter
и setLogWriter
методы должны использоваться вместо get/setlogStream
методы, которые осуждаются.java.io.PrintWriter
объектsetLogWriter(java.io.PrintWriter)
public static void setLogWriter(PrintWriter out)
PrintWriter
объект, который используется DriverManager
и все драйверы. Есть незначительная проблема управления версиями, создаваемая введением метода setLogWriter
. Метод setLogWriter
не может создать a PrintStream
объект, который будет возвращен getLogStream
---платформа Java не обеспечивает обратное преобразование. В результате новое приложение, которое использует setLogWriter
и также использует JDBC 1.0 драйвера, которые используют getLogStream
не будет, вероятно, видеть отладочной информации, записанной тем драйвером.
Запускаясь с Java 2 SDK, Standard Edition, выпуск версии 1.3, этот метод проверки, чтобы видеть, что есть SQLPermission
объект прежде, чем установить поток журналирования. Если a SecurityManager
существует и checkPermission
метод отрицает устанавливать писателя журнала, этот метод бросает a 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
и также определяется в Properties
объект, это определяется с помощью реализации, относительно которого будет иметь приоритет значение. Для максимальной мобильности приложение должно только определить свойство однажды.
url
- url базы данных формы jdbc:subprotocol:subname
info
- список произвольной строки тегирует/оценивает пар как параметры соединения; обычно, по крайней мере, свойство "пользователя" и "пароля" должно быть включеноSQLException
- если ошибка доступа к базе данных происходит, или url null
SQLTimeoutException
- когда драйвер решил что значение тайм-аута, определенное setLoginTimeout
метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Connection getConnection(String url, String user, String password) throws SQLException
DriverManager
попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.
Отметьте: Если свойство определяется как часть url
и также определяется в Properties
объект, это определяется с помощью реализации, относительно которого будет иметь приоритет значение. Для максимальной мобильности приложение должно только определить свойство однажды.
url
- url базы данных формы jdbc:subprotocol:subname
user
- пользователь базы данных, на имени которого делается соединениеpassword
- пароль пользователяSQLException
- если ошибка доступа к базе данных происходит, или url null
SQLTimeoutException
- когда драйвер решил что значение тайм-аута, определенное setLoginTimeout
метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Connection getConnection(String url) throws SQLException
DriverManager
попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.url
- url базы данных формы jdbc:subprotocol:subname
SQLException
- если ошибка доступа к базе данных происходит, или url null
SQLTimeoutException
- когда драйвер решил что значение тайм-аута, определенное setLoginTimeout
метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Driver getDriver(String url) throws SQLException
DriverManager
попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.url
- база данных URL формы jdbc:subprotocol:subname
Driver
объект, представляющий драйвер, который может соединиться с данным URLSQLException
- если ошибка доступа к базе данных происходитpublic static void registerDriver(Driver driver) throws SQLException
DriverManager
. Недавно загруженный драйвер class должен вызвать метод registerDriver
сделать себя известным DriverManager
. Если драйвер был ранее зарегистрирован, никакие меры не предпринимаются.driver
- новый Драйвер JDBC, который должен быть зарегистрирован в DriverManager
SQLException
- если ошибка доступа к базе данных происходитpublic static void registerDriver(Driver driver, DriverAction da) throws SQLException
DriverManager
. Недавно загруженный драйвер class должен вызвать метод registerDriver
сделать себя известным DriverManager
. Если драйвер был ранее зарегистрирован, никакие меры не предпринимаются.driver
- новый Драйвер JDBC, который должен быть зарегистрирован в DriverManager
da
- DriverAction
реализация, которая будет использоваться, когда DriverManager#deregisterDriver
вызываетсяSQLException
- если ошибка доступа к базе данных происходитpublic static void deregisterDriver(Driver driver) throws SQLException
DriverManager
's список зарегистрированных драйверов. Если a null
значение определяется для драйвера, который будет удален, тогда никакие меры не предпринимаются.
Если менеджер безопасности существует и checkPermission
отрицает разрешение, тогда a SecurityException
будет брошен.
Если указанный драйвер не находится в списке зарегистрированных драйверов, то никакие меры не предпринимаются. Если драйвер был найден, он будет удален из списка зарегистрированных драйверов.
Если a DriverAction
экземпляр был определен, когда драйвер JDBC был зарегистрирован, вычеркивать из списка метод будет вызван до драйвера, удаляемого из списка зарегистрированных драйверов.
driver
- Драйвер JDBC, чтобы удалитьSQLException
- если ошибка доступа к базе данных происходитSecurityException
- если менеджер безопасности существует и checkPermission
метод отрицает, что разрешение вычеркивает из списка драйвер.SecurityManager.checkPermission(java.security.Permission)
public static Enumeration<Driver> getDrivers()
Отметьте: имя класса драйвера может быть найдено, используя d.getClass().getName()
public static void setLoginTimeout(int seconds)
seconds
- ограничение по времени входа в систему в секундах; обнулите означает, что нет никакого пределаgetLoginTimeout()
public static int getLoginTimeout()
setLoginTimeout(int)
@Deprecated public static void setLogStream(PrintStream out)
setLogWriter
DriverManager
и все драйверы. В Java 2 SDK, Standard Edition, выпуск версии 1.3, этот метод проверки, чтобы видеть, что есть SQLPermission
объект прежде, чем установить поток журналирования. Если a SecurityManager
существует и checkPermission
метод отрицает устанавливать писателя журнала, этот метод бросает a java.lang.SecurityException
.
out
- новое журналирование/трассировка PrintStream; чтобы отключить, установите в null
SecurityException
- если менеджер безопасности существует и checkPermission
метод отрицает устанавливать поток журналаSecurityManager.checkPermission(java.security.Permission)
, getLogStream()
@Deprecated public static PrintStream getLogStream()
getLogWriter
DriverManager
и все драйверы.null
setLogStream(java.io.PrintStream)
public static void println(String message)
message
- журнал или прослеживающий сообщение
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92