Подключение к базам данных с помощью JBuiIder

В

этой главе вы узнаете, как подключиться из JBuilder к базам данных, которые вы настроили. Это делается при поши драйверов баз данных. Здесь мы рассмот­рим два основных типа драйверов Один из них — JDBC-драйвер. JDBC-драйверы реализованы полностью на языке Java. Они должны работать на любой платформе при условии, что установлена правильная машина JVM.

Второй тип инструментов взаимодействия с базами данных — ODBC-драйвер.

ODBC (Open DataBase Connectivity — открытый интерфейс доступа к базам данных) также является межплатформенным стандартом, но чаще всего он используется в среде Windows. Один и тот же JDBC-драйвер будет работать под Windows, Linux, равно как и на других платформах. В случае же ODBC для этого потребуется не­сколько разных ODBC-драйверов — один для Windows, другой для Linux и т. д.

Одно из больших преимуществ ODBC заключается в том, что он поистине вез­десущ. Существуют бесплатные ODBC-драйверы для многих из наиболее популяр­ных баз данных, включая Access, Paradox, dBASE, FoxPro, MSSQL, InterBase и MySQL. Большим преимуществом JDBC является то, что обычно один драйвер, на­писанный полностью на Java, будет работать на многих платформах.

Соединение с ODBC-драйверами из Java не представляет трудности, поскольку вместе с JVM вы получаете мост JDBC-ODBC (JDBC-ODBC Bridge), созданный компанией Sun. Разработка этого моста имела своей целью дать толчок к разработке на Java приложений, взаймодействующих с базами данных. Его присутствие означа­ет, что вы всегда сможете соединиться из Java и JBuilder с практически любой базой данных, имеющей допустимый ODBC-драйвер для вашей платформы. Мост досту­пен как для Linux, так и для Windows.

В этой главе я коснусь следующих JDBC-драйверов:

■ mm. mysql для взаимодействия между JBuilder и MySQL.

InterClient Для взаимодействия между JBuilder и InterBase (на момент выхо­да книги проект Firebird находился в процессе создания нового, более мощ­ного JDBC-драйвера для InterBase).

Кроме того, я рассмотрю следующие ODBC-драйвера, которые рекомендую на случай, если вы не сможете воспользоваться JDBC-драйверами:

■ Rtyodbc для взаимодействия между JBuilder и MySQL.

MSAccess, ODBC-драйвер Microsoft для Access.

Рассказывать о драйверах я буду в следующем порядке: сперва оба драйвера MySQL, затем драйвер InterBase InterClient И, Наконец, драйвер Access.

Хочу подчеркнуть, что я рассматриваю ODBC-драйверы по двум причинам:

■ Это единственный известный мне способ соединиться с Access из среды JBuilder.

■ ODBC-драйвера, как мне кажется, обеспечивают лучшую поддержку в про­цессе отладки. Следовательно, вам может понадобиться ODBC-драйвер в ходе разработки, а затем, доставляя код, потребуется перейти на соответству­ющий JDBC-драйвер. Однако не все драйвера ведут себя одинаково, поэтому вам следует регулярно проверять свой код под JDBC, если вы планируете по­ставлять код вместе с ним. Поскольку это компактное, быстрое, межплатфор­менное решение, я определенно рекомендую использовать JDBC в поставля­емом коде всегда, когда это возможно.

В этой главе и на протяжении оставшейся части книги я буду по умолчанию ис­пользовать JDBC-драйвер MySQL. Следовательно, соответствующий раздел этой главы каждому из вас необходимо прочитать полностью. Затем я рассмотрю — как можно более кратко — соединение с остальными типами драйверов. Если вы сталки­ваетесь с затруднениями, настраивая соединение с InterBase или Access, вниматель­но перечитайте раздел, посвященный Mm.Mysql, Вполне вероятно, что там вы най­дете хоть что-нибудь полезное. В конце главы содержится обобщенный раздел — "Тестирование проделанной работы".

Установка драйверов MySQL

В нескольких следующих разделах рассматривается установка драйверов для со­единения с MySQL из JBuilder. Два первых раздела посвящены взаимодействию с использованием JDBC-драйвера, а третий — взаимодействию с использованием ODBC-драйвера.

Установка Mm. mysql

Теперь, когда MySQL у вас установлен и корректно работает, вашим следующим шагом будет получить к нему доступ из среды JBuiider. Для этого потребуется уста­новить драйвер базы данных.

Mm.Mysql Это написанный полностью на Java драйвер с открытым исходным кодом, позволяющий соединиться с MySQL из среды JBuilder. Впечатления от ра­боты с этим драйвером у меня самые лучшие: он легко устанавливается и велико­лепно работает как под Linux, так и под Windows.

Выгрузить Mm.Mysql ВЫ Можете ИЗ Сайта Http://mmmysql. sourceforge. net/. Вы должны будете получить последнюю версию, а не ту, которую я использую при на­писании данной книги.

Выгрузите файлы и распакуйте пакет, в котором находится драйвер, с помощью следующей команды:

Jar xvf mm. mysql-2.0.ll-you-must-unjar-me. jar

У всех читателей этой книги на машинах должна присутствовать утилита jar, по­скольку она поставляется в комплекте с JDK. Просто проследите за тем, чтобы в ва-

примечаниеШем пути классов был каталог двоичных файлов jdk или jre. Вы также можете рас­паковать файл с помошью WinZip или любой другой утилиты архивации. WinZip доступен для выгрузки на сайте Www.Winzip.Com.

В данном случае версией Mm.Mysql Является 2.0.11. Эта часть имени Файла изменится, если вы выгрузите обновленную версию файла.

Найдите файл с именем вроде mm. mysqi-2.o.ιι-bin. jar. Это и есть JDBC — драйвер. Поместите его в выбранный каталог. Закройте JBuilder и добавьте каталог, в который ВЫ Сохранили файл, В СВОЙ Файл JBuilder. config:

Addjars g:/utils/classes

Файл JBuilder. config Расположен В Каталоге JBuilder/bin.

Если вы хотите запускать свои программы из командной строки, я бы также по­рекомендовал поместить этот JAR-файл в путь классов с помощью файлов сценари­ев, приведенных в конце предыдущей главы. Вот выдержка из этих файлов:

Set JBUILDER_HOME=g:/jb

Set CLASSESDIR=g:∕utils∕classes

Set INTERCLIENT_JAR=g:∕Compilers∕interbase∕InterClient∕interclient. jar rem some miscellaneous jar files

Set CLASSPATH=%CLASSESDIR%/jaxp. jar;%CLASSESDIR%∕codebox. jar rem setup Borland data express stuff

Set CLASSPATH=%CLASSPATH;%JBUILDER_HOME/lib/dx. jar;

%JBUILDER_HOME/lib/dbswing. jar;%JBUILDER_HOME/lib/jbcl. jar;

%JBUILDER_HOME%∕1ib∕junit. jar;

Rem set up mm. mysql

Set CLASSPATH=%CLASSPATH;%CLASSESDIR∕mm. mysql-2.O.11-bin. jar

Просматривая этот файл, обратите внимание, что значением переменной Classesdir является тот же каталог, куда вы поместили драйвер. Далее, взгляните на последнюю строку этого фрагмента кода; в ней вы увидите конкретную ссылку на этот драйвер. Или же можно добавить элементы в свой путь к классам через панель управления Windows: выберите аплет "Система", перейдите на страницу "Дополни­тельно" и щелкните на кнопке "Переменные среды".

Теперь перезапустите JBuilder. Выберите в меню пункт Tools ∣ Database Pilot, что­бы открыть Database Pilot, одну из мощных функций редакции JBuilder Enterprise. В меню Database Pilot выберите View ∣ Options (Вид | Параметры) и перейдите на страницу Drivers (Драйверы). Щелкните на кнопке Add (Добавить) и вставьте следующую строку:

примечаниеOrg.Gj T.Mm.Mysql.Driver

B Качестве альтернативы можете запустить JBuiIder И создать новую библиотеку, указывающую на файл Mm.Mysql-2.0.11-Bin. Jar. Затем выберите в меню Tools I Enterprise setup (Инструменты | Настройка Enterprise) И перейдите на страницу Database Drivers (Драйверы Баз Данных). Щелкните на кнопке Add И выберите необходимую библиотеку. Теперь выберите в меню Database Pilot Пункт View ∣ Options (Вид I Опции) И введите строку драйвера, как описывалось в предыдущем абзаце.

822

закройте и запустите заново jbuilder.
на данном этапе установка драйвера должна быть успешно завершена. чтобы это проверить, зайдите в database pilot, закройте все открытые базы данных и выберите в меню пункт file ∣ new (файл |
новый). откройте список в поле driver (драйвер) и поищите в списке строку "org gjt.mm.mysql.driver". если вы ее видите и она отображается черным цветом,
,ss htjwljrl,driver:,o∣,g gjt.mm.mysql.driver,~3,org gjl r⅛mnysql.c∙rħ⅛t,lsun.jdbc.odbc jdbcodbcdriver,рис. 40.1. просмотр списка mysql- драйверов в database pilot,то все в порядке (см. рис. 40.1); если же она выделена красным, что-то не так, и вам следует пересмотреть действия, описанные на последних нескольких страницах.
работа с установленным драйвером mm.mysql
теперь, когда драйвер установлен, вам
,к hwukl

примечаниепримечание

В диалоговом окне New URL (Новый URL-адрес) справа от поля URL есть кнопка эллипсиса. Вы всегда можете пользоваться этой кнопкой в процессе на­стройки баз данных ODBC, однако, когда вы ищете базы данных JDBC, может оказаться так, что она будет недоступной. Если она не работает, не беспокойтесь: просто введите строку. Щелкните на знаке "плюса" перед новым URL-адресом, который вы создали. Про­грамма предложит ввести имя пользователя и пароль. Введите значения, которые вы задали при создании пользователя MySQL. Если вы правильно ввели значения, то сможете открыть Узел и просмотреть таблицы и процедуры в базе данных, как показано на рис. 40.2.

Java осуществит синтаксический разбор введенной вами информации и будет ис­пользовать ее для соединения с вашей базой данных. Вы снабжаете JVM информа­цией, которая ей нужна для создания соединения. Первая введенная вами строка сообщает JBuilder, какой драйвер использовать. JBuilder не может использовать драйвер, если его нет в вашем пути классов, в библиотеке или файле конфигурации JBuilder, как я объяснял в предыдущем разделе главы.

Прочитав предыдущий абзац, вы можете задуматься о развертывании приложений, взаимодействующих с базами данных. Дискуссию по этой теме вы найде­те в конце главы 43, в разделе, озаглавленном "Упаковка приложения в JAR-файл или ис­Полняемый файл".

Итак, JVM-машина нашла драйвер; следующий шаг — сообщить ей, какую базу данных использовать. Вторая введенная вами строка передает эту информацию. Вы, наверное, помните, что эта строка выглядела так: jdbc:mysql://localhost/jbbook. Как я уже объяснял, первая часть этой строки сообщает, какой протокол использовать: jdbc. Вторая часть указывает, какую базу данных использовать: mysql. Третья часть определяет, какой сервер использовать: //Iocalhost. Четвертая часть сообщает, какую базу данных на этом сервере нужно использовать: ∕jbbook.

примечаниеНа рис. 40 3 вы можете видеть, как новое соединение выглядит в Database Pilot. Справа вы видите строки, ранее введенные в полях URL и Driver. Под ними находит­ся поле UserName (Имя пользователя): сюда вы можете, при желании, ввести имя пользователя на вашем сервере базы данных. В предыдущей главе приводится об­ширная дискуссия по заданию и настройке пользователей. В это поле вам, вероят­но, потребуется ввести либо root, либо свое имя пользователя в базе данных — не ваше имя пользователя для Windows или Linux, а ваше имя пользователя на сервере базы данных. Когда вы будете доставлять продукт, вы наверняка оставите поле UserName в модуле данных вашего приложения пустым, но в процессе разработки вы сможете избежать необходимости постоянно вводить свое имя пользователя, если жестко закодируете эту строку в своем приложении. Будет еще одно место, где вы сможете решить, включать или не включать это имя в свою готовую программу, поэтому здесь желательно его ввести.

В следующей главе я буду рассматривать эту тему более подробно, но, пожалуй, сейчас следует упомянуть, что JBuiIder позволяет вам решать, запрашивать ли у пользователя автоматически имя пользователя и пароль во время выполнения. Если у вас есть готовый модуль данных, включающий в себя базу данных, выберите свойство соеди­нения connection для базы данных и отметьте или снимите отметку с флажка Prompt user password (Запрашивать имя пользователя и пароль). Не беспокойтесь, если пока вам не все здесь понятно; модули данных и классы баз данных будут рассмотрены более подробно в следующей главе.

Теперь щелкните правой кнопкой мыши на знаке "плюс" слева от созданного вами соединения. Введите свой пароль. После этого вы должны увидеть таблицы в базе данных, как показано на рис. 40.4.

рис. 40.3. просмотр соединения, дополненного именем пользователя, с базой данных jbbook

F————————————————————————————————-

IT Database Pilot

File View Help

< X

*f>

O

рис. 40.4. просмотр таблиц базы данных в database pilot
 ifefx
file mew help
∙' x ∙∏ о
-■ вз mγsql∕lbrβe∕)hbook *
• ⅛⅛ tables
s я address ⅛∙ffl eeffi
s ⅞l columns ? α code
i i malbum
i mtypes t m loudness ɪ- m medium i mrating
m groupcode ⅛
j г jl' dennillon i data ∣ enter 8ql∣
 ∣Γabl⅛.cat i
 tafile scnem
 tablejrname ⅞lbl⅛i '
 table_type '!table ' ^ " ^ ~
 remarks__ ' i ^ ' ~^ ~j
 
utemsinn-bum

Если вы планируете использовать систему взаимодействия с MySQL и JDBC (что, собственно, я и рекомендую делать), вы полностью готовы к тому, чтобы на­чать собирать взаимодействующие с базами данных приложения в JBuilder Однако перед тем как вы за это приметесь, я бы порекомендовал прочесть раздел в конце этой главы, озаглавленный "Тестирование проделанной работы". Если вы хотите со­здать соединение с какой-то другой базой данных, думаю, что опыт, который вы по­лучите, проработав остаток этой главы, окажется весьма ценным.

Установка MyODBC в Windows или Linux

примечаниеЕсли вы работаете с JBuilder и Java, сомневаться в привлекательности для вас "чистых" JDBC-драйверов вроде Mm.Mysql Не приходится. Однако ODBC-драйверы иногда могут помочь во время отладки, и к ним можно обращаться из различных сред разработки, таких как Delphi, Perl, PHP, Python или C++. Вполне возможно, что работать с ODBC-драйверами проще, поскольку мост JDBC-ODBC уже установ­лен по умолчанию в Database Pilot и не требует процесса установки драйвера, опи­санного в предыдущем разделе.

В этой книге я рассказываю, как использовать ODBC-драйверы под Windows. Если же вы хотите создавать соединения с помощью ODBC в Linux, посмотри­те следующие сайты: Http://www. unixodbc. org/, Http://www. jepstone. net/ FreeODBC/ и Http://Www.OpenɪInksw. сот/.

На сайте Www.Mysql.Org Имеются ODBC-драйверы MySQL для Windows, Linux, Solaris и MacOS. На момент публикации они были доступны по следующему адресу: Http://Www.Mysql.Org/Products/Myodbc/Index.Html. Выгрузите оттуда драйвер для Windows.

Программа установки выгружается в виде zip-файла. Распакуйте содержимое файла во временный каталог, а затем запустите из этого каталога Setup.Exe. Это простая программ установки "в лоб", но в последнем выводимом ею диалоговом окне потребуется щелкнуть на кнопке закрытия Close. В конце процесса установки на экран будет выведено окно Data Sources (Источники данных), как показано на рис. 40.5. Это окно позволяет сконфигурировать драйвер. На данном этапе советую щелкнуть на кнопке Close (Закрыть); к этому диалоговому окну может добраться только программа установки, и лучше научиться полутать доступ к конфигурации ODBC-драйвера с помощью изложенных ниже приемов.

Data Sources

Fiɔta Sources (DιiverJ:

DBASE Files (Microsoft dBase Driver I* dbf!

Close

Рис. 40.5. В последнем диалоговом окне программы установки MyODBC Выберите кнопку Close

Excel Files (Microsoft Excel Driver (*.xls))

InterbaseMusic (XTG Systems InterBases ODBC driver) MS Access Database (Microsoft Access Driver (*.mdb)) XampIe MySQL (MySQL)

S, etφ..

[i. jttp, l°rr

Ddete

4*L-J

Drivers

После того, как вы установили драйверы, откройте панель управления Windows и выберите Администирование | Источники данных (ODBC). Перейдите на страницу Си­стемный DSN и щелкните на кнопке Добавить. Вам будет предложено выбрать ис­пользуемый драйвер, как показано на рис. 40.6.

Следующий шаг состоит в заполнении полей диалогового окна, как показано на рис. 40.7. Ключевое поле — это имя, которое должно быть как можно более инфор­мативным: ODBC-MySQL-JBBook-2. Затем добавьте имя хоста — это может быть Iocalhost или имя вашего сервера баз данных. Затем идет имя базы данных: jbbook. Наконец, введите свое имя пользователя и пароль. Опять-таки, два последних поля можно не заполнять, но на данном этапе я бы посоветовал это сделать.

Если бы вы подключались к удаленному серверу баз данных MySQL, вместо ло­кального сервера (Iocaihost) Потребовалось бы указать IP-адрес или имя сервера.

Теперь зайдите в JBuilder и откройте Database Pilot.

В меню Database Pilot выберите пункт New (Новый) и заполните поля диалогово­го окна, показанного на рис. 40.8. Поле URL должно содержать что-то вроде jdbe:odbe ODBC-MySOL-JBBook-2. Поле Driver должно выглядеть следующим об­разом: Sunjdbc-OdbcJdbcOdbcDriver.

ΓDX ιηy¾qlt)nwι default conħ⅛ural)ωι

I ieaIe flow DaIdSnurce

Select a driver fα which you wart to set up a data source

Name__ ;

Microsoft Paradox Drivei ∏db 1 Microsoft Paradox-T rαbβf f,.db J Microsoft Text Driver (“.txt; “.csv) Microsoft Text-Tieibef f. txt; ".csv) Microsoft Visual FoxPro Driver Microsoft Visual FoxPro-Tretw

ESFl

SQL Seivar

XTG Systems IhteifiaseG ODfiC dιiveι <

IB

4

4

4

4

1

1 ‘∙

∙,Γ

2 2 (

I⅛,> I Finish I Cancel

Рис. 40.6. Выбор используемого ODBC— драйвера для MySQL Через панель управление IVindowsXP

TheisrpubfcdomiinendcomeswihNOWARRANTYofansiknd

Enteradatabateandoptnmforconnact

Windows DSN name: jθDBC-MySQL∖IGBook-2 MySQL host (name a IP) Jlocahott MySQLdatabstananM: Jbbook Utec I ehaιla Pattwont ∣ ‘ 1 Port Ifnot 3306t J SQLcoininandonconnoct: ∣

Optiant that affects Iha behavιc ɪ of MyODBC Г Don’toptmeecoluπ<nwιdth

Return IMtctwig lows Γ TteceMjODBC Γ AlowBIGiotuIs f^ Donlpiomptonconnect Γ^ SanJata ODBC 1.0 Γ^ IgooraUiniUabIa Γ^ Usainanagoi CtatortIaapJ Γ DonTutetotIocaIe

I oκ i

Γ PodCHARtotullangth Γ HatuintablanametinSQLDeaciibaCoI I” UteconptattadpiotocOl Γ^ Ignoratpaceaftsifunctiannainet Γ^ Force uta ol named pipet Γ ChangeBlGINTcokinmtoINT Γ~ No catalog leap)

Γ~ Read opoont horn C Uηy. cnf Γ^ Safafy(CheekthtiyouhaveprbIertit) Γ^ Disable transactions

Рис. 40.7. Описание характеристик соединения с вашей базой данных с использованием панели управления

ГS" NpwUKL

Γx:

Driver:

SurJdbcxdbcJdb )db — Iver

3

URL

J IdbcodbcODBC-MySQLJBBook-2

~ Ξ∣

OK I Cancel l

Help J

рис. 40.8. соединение с базой данных mysql из database pilotВы должны иметь возможность выбрать оба этих параметра из выпадающих списков.

Если же вам пришлось их набирать, то, по всей видимости, что-то не так. (К сожале­нию, я не знаю, что именно могло пойти не так, но это может сигнализировать о том, что Что-то не так.) Завершив с полями, закройте диалоговое окно.

Щелкните правой кнопкой мыши на сво­ем псевдониме в Database Pilot и выберите в контекстном меню пункт Open (От­крыть). Откроется диалоговое окно, где вам будет предложено ввести свое имя пользователя и пароль; введите их. Если все работает правильно, вы должны увидеть несколько новых узлов в Database Pilot. Разверните узел с подписью Tables (Табли­цы). Перейдя на закладку Data (Данные), вы должны увидеть данные из вашей базы данных, — примерно так, как показано на рис. 40.4.

Итак, теперь вы можете — если, конечно, желаете — почитать о том, как настраи­вать InterBase и Access, или же пропустить эти темы и перейти к последнему разде­лу — "Тестирование проделанной работы".

Настройка InterBase

В следующих разделах описывается, как создать соединение с InterBase посред­ством JDBC с помощью InterClient и посредством ODBC.

примечаниеПомните, что Firebird — название проекта InterBase с открытым исходным ко­дом. Этот проект также часто называют IBPhoenix. Проект Firebird располагает ак­тивным сообществом приверженцев, равно как и коммерческая версия компании Borland. Версия Borland с открытым исходным кодом пока что не особо часть ис­пользуется.

примечаниеВместе с исходным кодом Firebird следует бесплатный ODBC-драйвер. На момент публикации он был доступен по ссылке Http://www. ibphoenix. com/ ibp_60_odbc. html. Если эта ссылка не работает или если вы ищете обновления, начни­те свой поиск на сайтах Firebird. sourceforge. net и Www. ibphoenix. com. Мне пришлось немного повозиться, прежде чем я смог заставить его работать, поэтому здесь я рекомендовать этот драйвер не буду. Как бы то ни было, на сегодня наилучший способ Соединиться с InterBase из JBuiIder — через InterCIient.

Ожидаемый "чистый" JDBC-драйвер для Firebird, кажется, выглядит весьма Многообещающим, но на момент публикации он находился на стадии бета-тестирования.

На момент публикации новый драйвер JDBC-JCA для Firebird находился по сле­дующему адресу:

Http://prdownɪoads. Sourceforge. net∕firebird/FirebirdSQL-1.O_beta_l. zip

Будем надеяться, что к тому времени, когда вы будете читать эту книгу, первая бета-версия будет уже в прошлом. Если вы не сможете найти файл по указанному адресу, вернитесь на Http://firebird. sourceforge. net/.

рис. 40.9. запуск программы ιsconfig для конфигурирования сервера interservernod windowsНастройка InterCIient под Windows

В отличие от Mm. mysql, InterClient состоит из двух частей: сервера и клиента. Сервер, называемый InterServer, должен быть установлен на той же машине, что и ваш сервер InterBase, и требует, по меньшей мере, минимальной настройки. Клиент находится в одном файле — Interclient, jar. Когда вы находитесь на клиентской машине, этот один-единственный JAR-файл — это все, что вам нужно (помимо ва­шей программы), чтобы взаимодействовать с сервером InterBase.

Единственное требование для использования файла Interclient, jar Состоит в том, чтобы файл был указан в пути классов. Здесь, однако, могут возникнуть неко­торые сложности. Между отдельной версией Inter client, jar И отдельной уста­новленной копией InterServer может иметь место потеря соответствия. В частности, версии Firebird InterClient "не ладят" с Borland-версией InterServer. Более того, неко­торые версии In ter client, jar Могут выполняться только под управлением опреде­ленной JVM-машины. Я обнаружил, что та, которая предназначена для работы под управлением JVM 1.3, будет также работать и под JVM 1.4. Проблема возникнет, если вы возьмете версию, предназначенную для использования под JVM 1.2, и по­пытаетесь задействовать ее под JVM версий 1.3 и 1.4.

Существуют различные способы установ­ки InterClient. Firebird имеет одну версию, тогда как компания Borland предлагает раз­личные программы установки для различ­ных платформ и версий продукта. Как пра­вило, все эти программы установки реализу­ют установку "в лоб".

InterServer может выполняться и как служба, и как автономное приложение. Про­грамма Iscclient. exe, Входящая в пакет InterClient, будет автоматически запущена незадолго до завершения процесса установ­ки. Этот клиент поможет вам сконфигуриро­вать InterClient, как показано на рис. 40.9.

Упомянутая программа хранится в каталоге InterCiientXBin. Я рекомендую выполнять InterServer как службу. Вторая страница при­ложения позволит останавливать и запускать службу.

Настройка InterCIient под Linux

В Linux-среде InterClient иногда поставляется в виде tar-файла. Распакуйте его, в результате чего будут созданы три файла. Выполните сценарий установки:

Sh install. sh

По умолчанию InterClient будет установлен в каталог ∕usr∕interclient.

Проследите за тем, чтобы Interclient, jar Присутствовал в вашем пути классов: Export CLASSPATH=∕usr∕interclient∕interclient. jar:$CLASSPATH

примечаниеЕсли на какой-то из ваших машин установлен сервер InterServer, про­должайте пользоваться находящейся на той машине версией inter client, jar. Нет ни­какой нужды обзаводиться Windows-версией InterCIient, чтобы соединиться с InterServer, работающим под управлением Linux. Просто используйте один и тот же файл interclient, jar на обеих машинах; так вы сведете практически к нулю вероятность Возникновения несоответствия между версиями InterCIient.

рис. 40.10. выполнение теста commdiag для проверки корректности функционирования interclientПри работе с Firebird Сам Interserver Должен быть помещен в каталог ∕opt∕ interbase∕interclient∕ В процессе установки. Запускается он посредством файла с именем Interserver, Который находится в каталоге ∕etc∕×init. d. Чтобы запус­тить Interserver, Введите следующую команду:

∕etc∕init. d∕xinitd restart

После ввода этой команды загляните в ∕var∕log∕messages, Чтобы убедиться в отсутствии каких-либо ошибок. Распространенная ошибка — забыть установить для Interserver Права на выполнение:

Chmod x+ug ∕opt∕interbase/interclient/interserver

He забудьте проверить ∕etc∕services На предмет присутствия строки Interserver (3060), как было описано в предыдущей главе.

Тестирование InterCIient

Итак, вы установили InterClient — под Windows или Linux. Теперь следует запус­тить тестовую программу. Убедитесь, что InterCIient указан в вашем пути классов, каталог Java присутствует в переменно пути и InterServer запущен; затем наберите следующую команду:

J ava interbase. interclient. utils. ComznDiag

Откроется диалоговое окно, анало­гичное показанному на рис. 40.10.

Введите имя сервера, на котором вы­полняется InterServer. Затем введите имя базы данных, с которой вы хоти­те соединиться. Вместе с InterBase поставляется учебная база данных Employee. gdb. Введите действитель­ные имя пользователя и пароль. По умолчанию в InterBase определен при­вилегированный пользователь с име­нем Sysdba И паролем Masterkey.

Если тест выполняется некорректно, проблема, скорее всего, состоит в том, что вы забыли запустить InterServer или InterBase как службы или не запустили Ibmgr В Linux. Еще одна вероятная проблема — несоответствие между вер­сиями InterClient или InterClient и ус­тановленным комплектом SDK.

interbase и jbuiider под windows
после того, как вы установили interclient, потребуется настроить jbuilder для работы с ним. перейдите в bin-каталог jbuilder и откройте jbuilder. config в текстовом редакторе. добавьте в файл раздел, аналогичный приведенному ниже, где путь будет соответствовать размещению на вашей машине:
lr new url al
driver 
 lτ^]
icornborianddatastorejdbcdatastoredriver 
l om ions.dft* j⅛jc iiip.db2dri-÷ι 
с orcjnfcfrr.⅛βf=c.ifcdrsver lt.ll
с om.syt=3s<' scig=c-syiidr=ter 
interfaase-interciientdriver j

,ok ' cancel he∣p j

рис. 40.11. дддйвед interbaseanterchent-driver выводится шрифтом черного цвета — значит, все в порядкеJtInterclient section added by esc addjars G: ∕Utilities∕InterClient

Теперь перезапустите JBuilder. Выбери­те в меню пункт Tools ∣ Database Pilot и за­тем File | New. Раскройте список драйверов; в нем вы должны увидеть ιnterbase. interclient. Driver — шрифтом черного цвета (см. рис. 40.11). Элементы, выде­ленные красным цветом, не готовы к использованию, тогда как набранные черным цветом — напротив, полностью готовы.

В разделе URL щелкните на кнопке эллипсиса и найдите базу данных InterBase. Файлы InterBase по умолчанию заканчиваются расширением. gdb. В каталоге Examples Большинства пакетов InterBase присутствует файл Employee. gdb. Подой­дет также и файл Jbbook. gdb, Который входит в состав сопровождающих книгу ма­териалов. Правильно заполненное диалоговое окно должно выглядеть так, как пока­зано на рис. 40.12.

Давайте-ка посмотрим на строку соединения:

Jdbc:interbase://localhost/G:DataJbbook. gdb

примечание"jdbe:interbase" указывает на драйвер, — в данном случае это InterClient. Далее, »//Iocalhost/" указывает на хост сервера, — в данном случае это локальная машина. Наконец, "G:\Data\jbook. gdb" указывает на конкретную базу данных InterBase.

Каждая база данных InterBase может содержать один или несколько файлов. В типичной ситуации вся база данных, состоящая из сотен файлов и гигабайтов данных, должна храниться в одном GDB-файле. В одной базе данных можно иметь до 64 000 таблиц, причем размер каждой из таблиц может достигать 32 терабайтов. Однако примите к сведению, что, по утверждению Borland, размер самой большой промышлен­Но используемой базы данных InterBase составляет всего 200 Гб.

рис. 40.12. соединение с базой данных с использованием драйвера interclient

Вы окажетесь в диалоговом окне, аналогичном показанному на рис. 40.12. В поле UserName введите SYSDBA, паролем по умолчанию будет masterkey.

InterBase и JBuiIder под Linux

Итак, у вас уже все настроено, теперь осталось только заставить JBuilder "общать­ся" с системой. Процесс будет более или менее идентичен тому, что необходимо проделать в Windows. Закройте JBuilder и отредактируйте JBuilder. confIg, доба­вив следующую строку:

примечаниеAddjars ∕usr∕interclient

В каталоге ∕usr∕interclient Имеется несколько JAR-файлов, однако Файл Interclient, jar Содержит в себе код остальных JAR-файлов.

Теперь откройте Database Pilot и определите новую строку соединения: Jdbc:Interbase:∕∕Iocalhost∕∕opt∕interbase∕examples∕employee. gdb Структура этой строки вам уже знакома: Jdbc Имя протокола, Interbase

Имя драйвера, Iocaihost — имя сервера. Последним идет имя базы данных, к кото­рой вы хотите получить доступ. Такой же синтаксис используется для получения до­ступа к базе данных MySQL, за исключением того, что слово,, Interbase” заменяет­ся СЛОВОМ ,‘mysql".

Установка ODBC для Access

Если на вашей машине установлен Access, вы без особых сложностей сможете пользоваться ним из JBuilder. Стандартная установка Access включает в себя пол­ную установку соответствующего ODBC-драйвера. Следовательно, все, что вам нуж­но сделать, — это настроить системное DSN-имя ODBC-драйвера и затем соеди­ниться с ним из Database Pilot.

C помощью меню Пуск в Windows войдите в панель управления. Зайдите в Адми­нистрирование и откройте аплет Источники данных ODBC. Перейдите на страницу Системный DSN, щелкните на кнопке Добавить и выберите Microsoft Access Driver, как показано на рис. 40.13. Щелкните на кнопке Готово.

рис. 40.13. выбор драйвера microsoftaccess drivere аплете источники данных odbc

Теперь вы должны попасть в диалоговое окно "Установка драйвера ODBC для Microsoft Access", которое показано на рис. 40.14. В верхней части диалогового окна присвойте своему новому DSN информативное имя, такое как ODBC-Access-jbbook. Щелкните на кнопке Выбрать… и найдите имя базы данных Access, которую необ­ходимо использовать. В данном случае это будет файл Jbbook. mdb Из сопровождаю­щих книгу материалов. Этот файл можно также выгрузить из моего web-сайта по ад­ресу Www. eivenware. com. Проследите за тем, чтобы база данных была скопирована на ваш жесткий диск и что она не является доступной только для чтения. Щелкните на кнопке OK, чтобы завершить процедуру.

Теперь откройте JBuilder и выберите в меню пункт Tools ∣ Database Pilot. В Database Pilot выберите в меню File ∣ New. В поле Driver выберите драйвер Sunjdbc-OdbcJdbcOdbcDriver. Щелкните на кнопке эллипсиса и найдите имя соеди­нения, как показано на рис. 40.15. Завершив, щелкните на кнопке OK.

Теперь все, что вам потребуется сделать, — это щелкнуть правой кнопкой мыши на вновь созданном соединении. Выберите из контекстного меню пункт Open и щелкните на кнопке OK. По умолчанию имени пользователя и пароля для базы дан­ных Access быть не должно.

Тестирование проделанной работы

Теперь пора соединиться с вашей базой данных из приложения JBuilder. Этот процесс я подробно объясню в следующих нескольких главах. Пока что давайте про­сто подготовим приложение и запустим его.

Откройте JBuilder и начните новый проект. Не создавайте приложение обычным способом, поскольку для разработки приложений, взаимодействующих с базами данных, предусмотрена особая методика. Пока что все, что нам нужно — это новый проект.

рис. 40.14. заполнение диалогового окна для access odbc dsn

* odbc sourt es ×j

Выберите в меню File ∣ New и создайте новый модуль данных, выбрав соответству­ющую пиктограмму на странице General. Проследите за тем, чтобы флажок Invoke Data Modeler (Активизировать Data Modeler) был отмечен, как показано на рис. 40.16.

1 Idbeiodbcisam *

)dbe:odbe:breedata IdbciodbciEdttAHMySQL IdbciodbcMySQL-ODBCjrest Idbciodbciaccess-Ibbook JdbciodbciMySQL-ODBC-Ibbook Idbc odbeιODBC-MySQL-JBBook-2

ɪdtn od∣κ ODec-Atce*i-∣bbook Cl

I OK I Cancel Help

Рис. 40.15. Использование Database Pilot Для выбора вновь созданного DNS, Который обеспечивает соединение с базой данных Access

832

рис. 40.16. создание модуля данных в jbuilderо data module wizardSpecnythb name от the data module

Enter the package name and class name of the new data module Ifyouwlsh to βubsequently∣nvoke the Data Vodeler1 make sure that checkbox Is selected.

Package; juntltled14 ~^} -∙

Class name ^ataModule1

P Invoke Data Modeler P" Generate headers

….. Га

Cancel

Help

B окне Data Modeler вы увидите список соединений, созданных вами в Database Pilot. Выберите нужное соединение; в моем случае я выбрал JDBC-соединение MySQL с Jbbook, Как показано на рис. 40.17.

Щелкните на знаке "плюс" перед соединением, что открыть его. Вам будет пред­ложено ввести свое имя пользователя и пароль. Выберите в базе данных таблицу, ко­торую вы хотите использовать, как показано на рис. 40.17. Щелкните на кнопке Copy All (Скопировать все), чтобы скопировать все поля в список Selected Columns (Выбранные поля). Выберите в меню Data Modeler пункт File ∣ Save (Файл | Сохра­нить) и затем File ∣ Exit (Файл | Выход).

рис. 40.17.
выбор
соединения
для
использования в новом jbuilder- приложении

В панели проекта должен появиться новый узел — DataModuIeLjava, а в панели содержимого — исходный код, как показано на рис. 40.18. Этот файл содержит код для соединения и выдачи запросов к вашему источнику данных. В следующих гла­вах вы найдете достаточно подробное его объяснение. Пока что вообразим, что это просто "черный ящик".

рис. 40.18. вот так
выглядит новый модуль данных в панели проекта

Выберите File ∣ New в меню JBuilder. На сей раз выберите на странице General пиктограмму Data Module Application. В поле Data Module установите DataModuIeI, как показано на рис. 40.19. Щелкните на кнопке OK.

Чтобы увидеть свое приложение в действии, щелкните правой кнопкой мыши на DataModuleITwoTierAppjava в панели проекта и выберите из контекстного меню пункт Run. Окно приложения должно выглядеть так, как показано на рис. 40.20.

примечаниеЕсли вы хотите запустить приложение с помощью зеленой кнопки вы­полнения, вам может понадобиться настроить конфигурацию времени выполнения в диа­логовом окне Project I Project Properties, открыть которое можно с помощью меню JBuiIder. Перейдите на страницу Run, щелкните на кнопке New и с помощью кнопки эл­Липсиса установите DataModuIeITwoTierApp в качестве главного класса.

Если все прошло успешно, поздравляю! Вы создали в JBuilder полнофункцио­нальное приложение, взаимодействующее с базой данных.

Рис. 40.19. Выбор модуля данных, котором будет основано ваше приложение

€> DataModulel twoɪier

примечаниеW ♦ —

Code Γ^

Mbum 1 Under a Red Sky

Рис. 40.20. Завершенное

Typesj

2

Приложение,

Loukiesf

~~

Взаимодействующее с

Базой данных

____________

R<Λ∏

8

Groupcodej1

Cddbd

CddLmne

ПрИ попытке выполнить приложение может возникнуть одна достаточно сбивающая с толку ошибка. В частности, может иметь место проблема, связанная с бран­дмауэром, — если все остальные шаги, описанные в этой главе, работают надлежащим образом, но во время выполнения вы получаете ошибку вроде "Cannot connect to MySQL server on Iocalhost:3306" ("Невозможно подключиться к серверу MySQL на Iocalhost: 3306"). Например, если вы можете соединиться с базой данных из Database Pilot и Data Modeler, но не можете выполнить свое приложение, проблема может быть вызвана вашим брандмауэром. Вам следует либо завершить брандмауэр, Либо убедиться в том, что он не блокирует ни вашу базу данных, ни Java.

Резюме

В этой главе вы узнали, как соединить JBuilder с источником данных JDBC или ODBC. Кроме того, вы ознакомились с тем, как устанавливать некоторые драйвера и как использовать эти драйвера в JBuilder. В этой главе вы научились работать с двумя весьма полезными инструментами: Database Pilot и администратором источ­ников данных ODBC Microsoft.

В конце главы вам было предложено очень краткое введение в создание прило­жений, взаимодействующих с базами данных, в среде JBuilder. В следующих не­скольких главах мы рассмотрим эту тему более подробно.

Чарли Калверт

Глава 41

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *