i f (myConnection != n u l l ! {
myConnection. c lo s e ( );
}
} catch (SQLException e) {
e. pr in tS ta c kT ra ceO;
}
}
} / / конец main()
}
Примечание Вам может потребоваться отредактировать строки, которые помечены текстом:
«ОТРЕДАКТИРУЙТЕ В СЛУЧАЕ НЕОБХОДИМОСТИ», заменив их реальными значениями, требующимися
для доступа к вашей базе д а н н ы х . _________ ______________
Компиляция BasicExamplel
Для компиляции программы BasicExamplel.java введите из командной
строки вашей операционной системы команду:
□ javac Bas icExample l. java
Если переменная окружения CLASSPATH не установлена должным образом,
при попытке откомпилировать программу FirstExample.java вы полу
чите следующее сообщение об ошибке:
□ F ir s tE x amp le . ja v a :22: cannot resolve symbol
symbol : c la s s Orac leDr ive r
lo c a t io n : package jdbc
new o r a c le . jd b c .O r a c leD r iv e rO
1 e r ro r
Нужно проверить установки для переменной окружения CLASSPATH - вероятно,
в них пропущен Zip-файл с классами JDBC Oracle (например,
Выполнение SQL с использованием Java 579
ojdbc6.jar). Следует вернуться к разделу “Установка переменной окружения
CLASSPATH” .
Совет Для получения подсказки по компилятору Java рекомендуется ввести команду javac
-help
Выполнение BasicExamplel
После того как программа BasicExamplel будет откомпилирована, можно
запустить на выполнение полученный в результате исполняемый файл
класса по имени BasicExample.class. Для этого необходимо ввести следующую
команду:
□ java BasicExamplel
Предупреждение Java чувствительна к регистру, поэтому следует убедиться, что имя программы
введено правильно: BasicExample с заглавными буквами В и Е.
Если программа завершается аварийно со следующим кодом и сообщением
об ошибке, это значит, что в вашей базе данных не существует пользователя
store с паролем store_password:
□ Error code = 1017
(Код ошибки = 1017
E rro r message = ORA-01017: in v a l id username/password; logon denied
Сообщение об ошибке = 0ra-01017: недействительная пара имя пользователя/
пароль; вход в систему не разрешен)
При получении такого сообщения следует проверить, что пользователь
store существует в базе данных.
Может случиться, что программа оказывается не в состоянии найти вашу
базу данных. В таком случае вы получите следующее сообщение об
ошибке:
□ E r ro r code = 17002
(Код ошибки = 17002
Erro r message = Io exception: The Network Adapter could not e s ta b lis h
Сообщение об ошибке = Исключительная ситуация ввода/вывода: сетевой
адаптер не в состоянии установить
the connection
соединение)
Как правило, эта ситуация возникает по одной из следующих двух причин.
■ На машине с идентификатором localhost отсутствует база данных с
идентификатором системы Oracle (Oracle SID) ORCL.
■ Oracle Net не работает или не ведется прослушивание запросов на
соединение на порте 1521.
Вам следует убедиться, что вы используете правильную строку соединения
в программе, а база данных и Oracle Net запущены.
580 Глава 15
Если программа работает, вы должны получить следующие выходные
данные:
П Added row to customers ta b le
Updated row in customers ta b le
Deleted row from customers ta b le
Retrieved rows from customers ta b le
customerld = 1
firstName = Jean
lastName = Brown
dob = 1965-01-01
dobTime = 00:00:00
dobTimestamp = 1971-03-16 00:00:00.0
phone = 800-555-1211
customerld = 2
firstName = Cynthia
lastName = Green
dob = 1968-02-05
dobTime = 00:00:00
dobTimestamp = 1968-02-05 00:00:00.0
phone = 800-555-1212 . *
customerld = 3
firstName = Steve
lastName = White
dob = 1971-03-16
dobTime = 00:00:00
dobTimestamp = 1969-02-22 00:00:00.0
phone = 800-555-1213
customerld = 4
firstName = G a il
lastName = Black
dob = n u l l
dobTime = n u l l
dobTimestamp = n u l l
phone =800-555-1214
customerld = 6
firstName = Jason
lastName = Red
dob = 1969-02-22
dobTime = 00:00:00
dobTimestamp = 1969-02-02 00:00:00.0
phone = 800-555-1216
Retrieved row from products ta b le
product_id = 12
product_type_id = 0
Last value read was NULL
productTypeld = n u l l
productldShor t = 12
p ro d u c t ld ln t = 12
productldLong = 12
p r ic e F lo a t = 13.49
priceDouble = 13.49
Выполнение SQL с использованием Java 581
priceBigDec = 13.49
Created addresses table
Dropped addresses table
Подготовленные операторы SQL
Когда оператор SQL посылается в базу данных, программное обеспечение
базы данных читает этот оператор и проверяет его на правильность. Этот
процесс известен как синтаксический анализ оператора SQL. Затем программное
обеспечение строит план, известный как план выполнения оператора,
для реального выполнения оператора. До сих пор для всех операторов
SQL, посылаемых в базу данных через JDBC, было необходимо строить
новые планы выполнения. Это было связано с тем, что все посылаемые
в базу данных операторы SQL были различными.