Oracle, SQL Server, DB2 и MySQL. Расширения Oracle для JDBC позволяют
вашим программам получить доступ ко всем специфическим для
Oracle возможностям, а также к усовершенствованиям производительности.
О некоторых таких специфических для Oracle возможностях вы узнаете
ниже в данной главе.
Чтобы использовать в своих программах JDBC, вы должны импортировать
пакеты java.sql.*, как это показано в следующем операторе import:
□ import j a v a . s q l . *;
Конечно, импортирование java.sql.* означает импортирование всех стандартных
пакетов JDBC. Когда вы станете специалистом по JDBC, вы поймете,
что вам не всегда необходимо импортировать все классы: можно импортировать
только те классы, которые фактически использует ваша программа.
Регистрация драйверов JDBC Oracle
Прежде чем открыть подключение к базе данных, нужно зарегистрировать
драйверы JDBC с вашей программой. Драйверы JDBC позволяют вашим
операторам JDBC получать доступ к базе данных.
Есть два способа регистрации драйверов JDBC Oracle:
■ использовать метод forName() классаjava.lang.Class,
■ использовать метод registerDriver() класса JDBC DriverManager.
Следующий пример иллюстрирует использование метода forName():
□ C la s s . f о rName(«oracle.jdbc.OracleDriver») ;
Второй способ регистрации драйверов JDBC Oracle состоит в использовании
метода registerDriver() классаjava.sql.DriverManager, как показано
в примере:
□ DriverManager .regis terDriver(new o r a c le . jd b c .O r a c leD r iv e rO ) ;
После того как вы зарегистрировали драйверы Oracle JDBC, вы можете
открыть подключение к базе данных.
Открытие подключения к базе данных
Прежде чем вы сможете применять операторы SQL в ваших Java-программах,
вы должны открыть подключение к базе данных. Есть два основных
способа открыть подключение к базе данных:
554 Глава 15
■ использовать метод getConnection() класса DriverManager;
■ использовать объект источника данных Oracle, который сначала
должен быть создан, а затем подключен. В этом методе используется
стандартизованный метод установки деталей подключения к базе
данных, и объект источника данных Oracle может быть использован
вместе с Java-интерфейсом наименования и каталогов (Java Naming
and Directory Interface - JNDI).
В следующих разделах я опишу оба способа, которые позволяют открыть
подключение к базе данных. Начну с метода getConnection() класса
DriverManager.
Подключение к базе данных с использованием метода getConnection()
Метод getConnectionQ возвращает объект JDBC Connection, который
должен храниться в вашей программе, чтобы впоследствии к нему можно
было обратиться. Вызов метода getConnectionQ имеет следующий
синтаксис:
■ DriverManager.getCQnnection(URL, имя_польз, пароль);
где
■ URL - это база данных, к которой подключается ваша программа,
вместе с драйвером JDBC, который вы желаете использовать (под
робнее об URL см. в следующем разделе);
■ имя_польз - это имя пользователя базы данных, с которым подключается
к базе данных ваша программа;
■ пароль - это пароль для этого имени пользователя.
В следующем примере показан метод getConnection(), использованный
для подключения к базе данных:
□ Connection myConnection = DriverManager.getConnection(
“ jd b c :o r a c le :th in :@ lo c a lh o s t :1521:ORCL” ,
“ s t o r e " ,
“ store_password”
);
В этом примере выполняется подключение к базе данных, которая работает
на машине с идентификатором localhost и имеет системный идентификатор
Oracle (Oracle System Identifier - SID) ORCL, используя тонкий
драйвер JDBC Oracle. Подключение выполняется от имени пользователя
store с паролем store_password. Объект Connection, возвращаемый при вызове
метода getConnection(), сохраняется в myConnection. Подключение к
базе данных выполняется с помощью Oracle Net, которая должна быть в
рабочем состоянии при запуске программы.
URL базы данных
UR L базы данных указывает, где размещается база данных, к которой подключается
ваша программа. Структура UR L базы данных зависит от того,
Выполнение SQL с использованием Java 555
драйверами JDBC какого производителя вы пользуетесь. При использовании
драйверов JDBC Oracle URL имеет следующую структуру:
□ имя_драйвера:@инфо_о_драйвере
где
■ имялрайвера - имя драйвера JDBC Oracle, используемого вашей
программой. Это имя может принимать одно из двух значений:
■ jdbc:oracle:thin - тонкий драйвер JDBC Oracle,
■ jdbc:oracle:oci - драйвер OCI JDBC Oracle;
■ инфо_о_драйвере - зависящая от типа драйвера информация, которая
требуется для подключения к базе данных. Она зависит от типа
используемого драйвера. В случае тонкого драйвера JDBC Oracle эта