|
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:subnameinfo - список произвольной строки тегирует/оценивает пар как параметры соединения; обычно, по крайней мере, свойство "пользователя" и "пароля" должно быть включеноSQLException - если ошибка доступа к базе данных происходит, или url nullSQLTimeoutException - когда драйвер решил что значение тайм-аута, определенное setLoginTimeout метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Connection getConnection(String url, String user, String password) throws SQLException
DriverManager попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.
Отметьте: Если свойство определяется как часть url и также определяется в Properties объект, это определяется с помощью реализации, относительно которого будет иметь приоритет значение. Для максимальной мобильности приложение должно только определить свойство однажды.
url - url базы данных формы jdbc:subprotocol:subnameuser - пользователь базы данных, на имени которого делается соединениеpassword - пароль пользователяSQLException - если ошибка доступа к базе данных происходит, или url nullSQLTimeoutException - когда драйвер решил что значение тайм-аута, определенное setLoginTimeout метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Connection getConnection(String url) throws SQLException
DriverManager попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.url - url базы данных формы jdbc:subprotocol:subnameSQLException - если ошибка доступа к базе данных происходит, или url nullSQLTimeoutException - когда драйвер решил что значение тайм-аута, определенное setLoginTimeout метод был превышен и по крайней мере попытался отменить текущую попытку соединения с базой данныхpublic static Driver getDriver(String url) throws SQLException
DriverManager попытки выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.url - база данных URL формы jdbc:subprotocol:subnameDriver объект, представляющий драйвер, который может соединиться с данным URLSQLException - если ошибка доступа к базе данных происходитpublic static void registerDriver(Driver driver) throws SQLException
DriverManager. Недавно загруженный драйвер class должен вызвать метод registerDriver сделать себя известным DriverManager. Если драйвер был ранее зарегистрирован, никакие меры не предпринимаются.driver - новый Драйвер JDBC, который должен быть зарегистрирован в DriverManagerSQLException - если ошибка доступа к базе данных происходитpublic static void registerDriver(Driver driver, DriverAction da) throws SQLException
DriverManager. Недавно загруженный драйвер class должен вызвать метод registerDriver сделать себя известным DriverManager. Если драйвер был ранее зарегистрирован, никакие меры не предпринимаются.driver - новый Драйвер JDBC, который должен быть зарегистрирован в DriverManagerda - 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)
setLogWriterDriverManager и все драйверы. В Java 2 SDK, Standard Edition, выпуск версии 1.3, этот метод проверки, чтобы видеть, что есть SQLPermission объект прежде, чем установить поток журналирования. Если a SecurityManager существует и checkPermission метод отрицает устанавливать писателя журнала, этот метод бросает a java.lang.SecurityException.
out - новое журналирование/трассировка PrintStream; чтобы отключить, установите в nullSecurityException - если менеджер безопасности существует и checkPermission метод отрицает устанавливать поток журналаSecurityManager.checkPermission(java.security.Permission), getLogStream()@Deprecated public static PrintStream getLogStream()
getLogWriterDriverManager и все драйверы.nullsetLogStream(java.io.PrintStream)public static void println(String message)
message - журнал или прослеживающий сообщение
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92