Разработка приложений баз данных для СУБД Sybase SQL Anywhere

         

Начало работы с SYBASE SQL Anywhere


Работа с любым программным обеспечением начинается с его инсталляции. В СУБД SYBASE SQL Anywhere данная функция для каждой операционной системы решается соответствующим мастером.

ПРИМЕЧАНИЕ.

Здесь и далее под операционными системами понимаются лишь те их них, для которых разработаны версии рассматриваемой СУБД. В частности речь будет идти только о таких операционных системах, как Windows 3.х, Windows 95/98, Windows NT, OS/2, NetWare, DOS и QNX.

Вышеупомянутые мастера обладают довольно "дружественным" интерфейсом и вам только остается ответить на задаваемые вопроса. Например, необходимо указать пути для размещения компонентов СУБД, какой сетевой протокол использовать, сетевой адрес сервера или клиента и т. д. Возможно в процессе инсталляции вам понадобится помощь администратора вашей сети. По умолчанию установка компонентов СУБД осуществляется в папки (каталоги) c:\SQLAny50 и C:\SYBTOOLS. После завершения процедуры инсталляции можно приступать к работе с СУБД. Для этого следует запустить компоненты SQL Anywhere server и SQL Anywhere client или SQL Anywhere Engine. Выбор компонентов определяется используемым вариантом СУБД - сетевым или автономным.

ПРИМЕЧАНИЕ.

Возможности СУБД SYBASE SQL Anywhere рассматриваются применительно к . Создание этой базы данных было произведено в среде операционной системы Windows 95. (В других операционных системах это осуществляется примерно таким же образом.) Компоненты СУБД были установлены в папки c:\SQLAny50 и C:\SYBTOOLS. Для работы с локальным сервером на одной из клиентских ЭВМ база данных Biblia была записана в файл e:\database\biblia.db. При использовании сетевой версии СУБД, эта база данных была размещена на ЭВМ - сервере в файле с:\database\biblia.db. При работе в сети использовался сетевой протокол IPX. ЭВМ, которая применялась в качестве сервера, имела сетевое имя Serv_Dbase.



Запуск клиентской компоненты СУБД


После начала функционирования удаленного сервера баз данных можно начинать использование СУБД с клиентских ЭВМ. При этом первым шагом должен быть запуск компоненты SQL Anywhere client. Данное действие может быть выполнено при помощи соответствующей пиктограммы или с использованием командной строки. При этом упрощенный синтаксис содержимого командной строки имеет вид:

<DBCLIENT> [-x <NET_LIST>] <SERVER_NAME>,

где<SERVER_NAME> - имя сервера базы данных, назначенное ему при запуске по умолчании или явным образом;
 <DBCLIENT> - полное имя файла, представляющего компоненту SQL Anywhere client. В среде Windows 3.x этот файл имеет название Dbclienw.exe, а в других операционных системах, кроме QNX, - Dbclient.exe. В среде QNX клиентская компонента СУБД представляет собой динамически загружаемую библиотеку программ - Dbclient.

Как и для удаленного сервера, для удаленного клиента желательно указывать используемые сетевые протоколы.

Для некоторых приложений в непосредственном запуске компоненты SQL Anywhere client нет необходимости. К числу таких приложений относятся SQL Central и ISQL и ряд других приложений. Данное обстоятельство объясняется тем, что эти приложения сами запускают компоненту SQL Anywhere client.

При инициализации клиентской компоненты на экране монитора появляется ее окно. Чтобы увидеть содержимое этого окна следует запустить клиентскую компоненту. Для воспользуемся командной строкой. В ней следует ввести следующую команду:

c:\SQLany50\WIN23\Dbclient.exe Server_ste1.

Содержимое окна клиентской компоненты очень похоже на содержимое окна удаленного сервера в начальный момент его работы. Его вид представлен ниже на рис. 5.

Рис. 5. Содержимое окна клиентской компоненты СУБД SYBASE SQL Anywhere после ее инициализации

В этом окне видно, что произошла инициализация ряда сетевых протоколов. Удаленный сервер опознан при обмене с использованием сетевого протокола IPX.

После завершения процедуры инициализации окно клиентской компоненты автоматически сворачивается и представляется в панели задач в виде кнопки с названием используемого удаленного сервера.

В результате проведенных действий СУБД SQL Anywhere готова к работе с клиентскими приложениями.



Запуск локального сервера




Для автономного варианта СУБД следует запустить локальный сервер. Для этого в используемой операционной системе достаточно воспользоваться соответствующей пиктограммой. В противном случае необходимо использовать командную строку. Ее содержимое в соответствие с упрощенным синтаксисом должно имеет вид:

<DBENG50> <DATABASE> [-o <SERVER_NAME>],

где<SERVER_NAME> - необязательный параметр, представляющий собой строку с именем, назначаемым локальному серверу;
 <DATABASE> - полный путь к базовому файлу (области SYSTEM) базы данных;
 <DBENG50> - полное имя файла, представляющего компоненту SQL Anywhere Engine. Для операционной системы Windows 3.x таким файлом является файл Dbeng50w.exe, а для остальных - файл Dbeng50.exe.

По умолчанию, если имя сервера не задано, то в этом качестве используется имя файла указанное в параметре <DATABASE>. В противном случае используется имя задаваемое параметром SERVER_NAME. Чтобы получить более детальную информацию о запуске локального сервера, обращайтесь к документации или справочной системе СУБД.

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

Запустим локальный сервер в среде операционной системы Windows 95/98 при помощи командной строки со следующим содержимым:

c:\SQLany50\WIN95\Dbeng50.exe c:\database\biblia.db

Тогда окно локального сервера будет иметь вид представленный на рис. 2.

Рис. 2. Окно локального сервера СУБД SYBASE SQL Anywhere

Анализируя рис. 2 можно отметить, что на нем представлено окно локального сервера Biblia. Этот сервер управляет функционированием . Ее базовым файлом является файлом с именем e:\database\biblia.db. При работе с этой базой данных используется журнал изменений, находящийся в файле BIBLIA.LOG. СУБД находится в режиме ожидания запросов и в начале ее работы уже была точка фиксации.



Запуск удаленного сервера


Допустим теперь, что в вашем распоряжении имеется сетевой вариант СУБД. Тогда для начала работы с ним необходимо сначала на ЭВМ-сервере запустить компоненту SQL Anywhere server, а затем на клиентских ЭВМ - запустить SQL Anywhere client. Для запуска компоненты SQL Anywhere server (удаленного сервера) можно воспользоваться пиктограммой соответствующей данной компоненте. Другая возможность реализации этого действия состоит в использовании командной строки. Для этой цели в нее следуют ввести строку, упрощенный синтаксис которой имеет вид:

<DBSRV50> <DATABASE> [-o <SERVER_NAME>] [-x <NET_LIST>],

где<NET_LIST> - необязательный параметр, указывающий перечень сетевых протоколов, используемых для организации сетевого взаимодействия между удаленным сервером и клиентами. Если такого перечня нет, то СУБД сама автоматически определяет применяемый сетевой протокол. Для этого она циклически производит последовательную активизацию каждого из них. Данное действие осуществляется многократно. В связи с этим для сокращения временных затрат на обмен информацией в сети желательно указывать тип используемого сетевого протокола;
 <DBSRV50> - необязательный параметр полное имя файла, представляющего компоненту SQL Anywhere server. Dbsrv50.exe. В среде Windows NT сервер базы данных может быть представлен в виде сервиса. Кроме того в операционных системах OS/2 и Windows NT этот сервер может быть запущен в виде отдельного сеанса. В рамках NetWare для запуска SQL Anywhere server используется загружаемый модуль Dbsrv50.nlm.

Приведенных сведений достаточно для начала работы с сервером базы данных. Более полную информацию и технические подробности вы можете найти в документации по СУБД.

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

окно Connection (соединений); окно Messages (сообщений); окно Checkpoint Urgency (показателей времени сохранения и восстановления базы данных).




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

c:\SQLany50\WIN95\Dbsrv50.exe c:\database\biblia.db -o Server_ste1.

Тогда окно Messages в момент разворачивания сервера будет иметь вид, представленный на рис. 3.



Рис. 3. Окно удаленного сервера СУБД SYBASE SQL Anywhere при его инициализации

На рис. 3 видно, что в окне отражается название фирмы разработчика СУБД. имя владельца копии СУБД. Удаленный сервер имеет название Server_ste1. Он успешно выполнил активизацию программного интерфейса DDE и сетевых протоколов NetBios, TCP/IP, IPX и NetDG. Активизация всех этих сетевых протоколов происходит в связи с тем, что при запуске удаленного сервера на был указан используемый сетевой протокол.

Сервер управляет , расположенной в файле c:\database\biblia.db. Журнал изменений базы данных расположен в файле BIBLIA.LOG. Сервер ожидает поступления запросов. Инициализации удаленного сервера завершилась точкой фиксации. После этого в окне сервера появляются все три вышеуказанных вложенных окна. Как выглядит при этом окно удаленного сервера можно увидеть на рис. 4.



Рис. 4. Окно удаленного сервера СУБД SYBASE SQL Anywhere после его инициализации

Рассмотрим назначение каждого из вложенных окон сервера.

Окно Connection предназначено для отображения всех соединений, осуществленных с сервером, в текущий момент работы сервера. Такая информация позволяет определить количество работающих с сервером пользователей. Пользователи могут работать с разными базами, управляемых сервером. При этом один и тот же пользователь с одного и того же рабочего места может одновременно осуществлять взаимодействие с одной и той же базой данных. Поэтому вас не должен смущать этот факт когда в дальнейшем вы будете одновременно работать с посредством утилит SQL Central и ISQL.

В окно Messages выводится такая же информация, что и в окно локального сервера. Это относится и к сообщениям формируемым оператором MESSAGE. Данные сообщения, так необходимые пользователям при отладке приложений, не отображаются на клиентской ЭВМ. Поэтому пользователям предоставляется в распоряжение утилита DBWACTH. Эта утилита представлена одноименным файлом. Она позволяет отображать содержимое окна удаленного сервера на ЭВМ клиента, тем самым предлагаемая утилита предоставляет возможность анализировать сообщения выдаваемые серверу. Для применения этой утилиты можно воспользоваться соответствующей пиктограммой или командной строки. В последнем случае упрощенный синтаксис ее содержимого будет иметь следующий вид:

<DBWACTH> -с "<keyword> = <value>; ... ",



где<DBWACTH> - полное имя исполняемого файла утилиты DBWACTH. Для операционной системы Windows 3.x таким файлом является файл dbwatchw.exe , для всех остальных - файл dbwatch.exe;
 <keyword> - ключевое слово, значение и назначение которого представлено в табл. 1;
 <value> - значение ключевого слова в соответствие с его назначением.
Таблица 1. Ключевые слова утилиты DBWACTH

Ключевое словоНазначение
DBFИмя файла базы данных
DBNИмя базы данных
ENGИмя сервера
UIDИмя пользователя
PWDПароль пользователя