Выбрать главу

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 эта