с удаленными базами данных




Ранее были рассмотрены программные инструменты для работы с БД. Боль­шинство этих программ можно использовать и для работы с удаленными БД. Так, создать псевдоним для InterBase позволяют программы Administrator BDE и Database Desktop, а редактировать и просматривать записи можно с помощью программы SQL Explorer. В дополнение к ним в данной главе мы познакомимся с программами, предназначенными специально для удаленных БД.

Программа IBConsole

Программа IBConsole предназначена для управления сервером InterBase и явля­ется его консолью. Консоль устанавливается совместно с сервером InterBase и находится в его каталоге BIN, ее главный файл называется IBConsole.exe. Про­грамму также можно запустить через меню Пуск Windows, выбрав команду Про-rpaMMbi\InterBase\IBConsole.

Для запуска и остановки сервера служит программа InterBase Server Manager, функциональность которой начиная с версии Delphi 6 значительно уменьшилась.

Программа IBConsole обеспечивает:

□ управление локальными и удаленными серверами;

□ управление БД;

□ интерактивное выполнение SQL-запросов.

Основную часть окна IBConsole занимают две панели (рис. 16.1). В левой пане­ли в виде дерева представлены зарегистрированные серверы и их БД, а также элементы структуры, например, таблицы или пользователи. Отметим, что в ка­честве имени сервера или БД отображается его псевдоним (alias), задаваемый при регистрации сервера или БД (этот псевдоним никак не связан с псевдони­мом BDE). В правой панели выводится информация об объекте, выбранном в левой панели.


Глава 16. Инструменты для работы с удаленными базами данных


447


 



 


Управление сервером

П управлении сертификатами; П определении пользователей.

Управление сервером заключается в:

П регистрации сервера;

П подключении сервера;

П просмотре протокола работы;

Для управления сервером используются команды меню Server главного окна программы IBConsole, а также команды контекстного меню сервера и его эле­ментов.

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

Подключение к серверу

Подключение к серверу, выбранному в левой панели, выполняется командой Login. При этом появляется окно Server Login (рис. 16.2), в котором необходимо указать имя пользователя (User Name) и его пароль (Password). После указания имени sysdba системного администратора, его пароля masterkey и нажатия кнопки Login осуществляется подключение к серверу, имя (alias) которого ото­бражается в надписи Server, а к значку сервера добавляется зеленая галочка.

Отключение от выбранного сервера выполняется командой Logout. При этом выдается запрос на продолжение операции и в случае подтверждения сервер отключается.


448


Часть III. Удаленные базы данных


Рис. 16.2. Подключение к серверу

После подключения к серверу можно выполнить проверку подключения к одной из его БД. Командой Diagnose Connection открывается окно проверки соедине­ния Communication Diagnostics (рис. 16.3), в котором указывается информация о сервере. В качестве БД задается ее файл, который можно выбрать в окне Open, открываемом нажатием кнопки с тремя точками.

Кнопка Test инициирует проверку, результаты которой выводятся в поле Results.

На страницах TCP/IP, NetBEUI, SPX можно выполнить настройку соответ­ствующего сетевого протокола.


Глава 16. Инструменты для работы с удаленными базами данных


449


Регистрация сервера

Для регистрации в консоли нового сервера необходимо выполнить команду Register, после чего открывается окно регистрации и соединения с сервером Register Server and Connect (рис. 16.4).

При регистрации локального сервера устанавливается переключатель Local Server. При необходимости в поле описания (Description) можно ввести краткую информацию, поясняющую назначение и особенности сервера. После нажатия кнопки ОК локальный сервер регистрируется, а его имя добавляется к списку в левой панели.

В случае регистрации удаленного сервера устанавливается переключатель Remote Server и заполняются поля, которые заблокированы при подключении локального сервера: в поле Server Name указывается сетевое имя сервера, в спи­ске Network Protocol выбирается протокол связи, а в поле Alias Name задается имя (псевдоним), под которым сервер регистрируется в консоли.

Одновременно с регистрацией можно выполнить подключение сервера, для чего должны быть заполнены поля User Name и Password группы Login Information.

Отмена регистрации выбранного сервера выполняется командой Un-Register. При этом выдается запрос на продолжение операции, и в случае подтверждения сервер исключается из консоли. Перед отменой регистрации сервера его необ­ходимо отключить.


450


Часть III. Удаленные базы данных


Просмотр протокола работы сервера

В процессе работы сервера ведется протокол (log file), просмотреть который можно, вызвав команду View Logfile. При этом появляется окно протокола Server Log (рис. 16.5), в котором выводится краткий отчет о работе сервера.

Протокол можно распечатать или сохранить в текстовом файле.

Операции с сертификатами

Список сертификатов (certificate — удостоверение), действительных для сервера, можно просмотреть в правой панели, выбрав в левой панели элемент Certificates. Сертификат можно добавить, открыв командой Add Certificate одноименное ок­но Add Certificate (рис. 16.6) и указав в нем код (ID) и ключ (Key) сертификата. После нажатия кнопки ОК выполняется проверка сертификата, и, если ошибки не найдены, новый сертификат добавляется к серверу.

Выбранный в списке сертификат удаляется командой Remove Certificate. Перед удалением выдается запрос на подтверждение операции.


Глава 16. Инструменты для работы с удаленными базами данных


451


Управление пользователями

Для каждого сервера есть список пользователей, имеющих право доступа к не­му. Список таких пользователей можно просмотреть в правой панели, выбрав в левой панели элемент Users. Консоль позволяет добавить или удалить пользова­теля, а также просмотреть и изменить его атрибуты. Эти действия (кроме удале­ния) выполняются в окне User Information (рис. 16.7), открываемом командой User Security или командами контекстного меню списка пользователей.

Рис. 16.7. Атрибуты пользователя

Для пользователя необходимо ввести обязательные атрибуты (Required Information), которыми являются его системное имя (User Name), пароль (Password) и повтор пароля (Confirm Password). Имя пользователя также можно выбрать в раскрывающемся списке. Остальные атрибуты являются дополни­тельными (Optional Information) и не требуют обязательного ввода: имя (First Name), отчество (Middle Name) и фамилия (Last Name).

Управление БД

Список баз данных, зарегистрированных для сервера, отображается в левой па­нели. Так, на рис. 16.1 для локального сервера (Local Server) такими БД являются Registration и Human Resources. Зарегистрированная БД может быть подклю­чена или отключена от сервера, что отмечается, соответственно, зеленой галоч­кой или красным крестом в значке БД.

Управление БД заключается в:

□ регистрации БД; □ проверке состояния БД;

□ подключении БД; □ анализе статистики;

□ создании и удалении БД; □ сохранении и восстановлении БД.

□ просмотре метаданных;


452


Часть III. Удаленные базы данных


Для управления БД используются команды меню Database главного окна про­граммы IBConsole, а также команды контекстного меню баз данных и их эле­ментов.

Регистрация базы данных

Регистрация БД начинается командой Register, которая открывает окно Register Database and Connect (рис. 16.8). В этом окне необходимо указать (выбрать) глав­ный файл БД (File), а также псевдоним (имя) БД (Alias), под которым она будет зарегистрирована на сервере, обозначенном надписью Server. По умолчанию в качестве псевдонима БД предлагается имя ее главного файла с расширением.

Остальные данные не являются обязательными. Однако если задать имя и пароль пользователя, то после регистрации выполняется подключение указанной БД.

Исключение БД из списка регистрации сервера выполняется командой Unregister, при этом БД предварительно должна быть отключена от сервера. При выполнении операции запрашивается подтверждение.

Подключение базы данных

Подключение БД к серверу и отключение от него выполняется командами Connect и Disconnect соответственно. Команда Connect As позволяет подклю­читься к БД с новыми параметрами, указываемыми в окне Database Connect (рис. 16.9).


Глава 16. Инструменты для работы с удаленными базами данных


453


Рис. 16.9. Подключение БД к серверу

Создание базы данных

Консоль позволяет достаточно удобно и быстро создавать БД, в том числе мно­гофайловые. Создание БД, а также ее удаление, для которых предназначены команды Create Database и Drop Database, рассмотрены в главе 14.

Просмотр метаданных

Метаданные представляют собой элементы структуры БД. Для выбранной БД их можно просмотреть с помощью команды View Metadata, которая открывает ок­но Database Metadata. На рис. 16.10 показаны метаданные БД emioyee.gdb, ко­торая поставляется вместе с сервером InterBase в качестве примера.



 


454


Часть III. Удаленные базы данных


Метаданные представляют собой сценарий (скрипт), написанный на языке SQL, который можно распечатать или сохранить в текстовом файле. Сохраненный сцена­рий впоследствии можно выполнить, создав БД со всей ее структурой и данными.

Сбор мусора

В процессе интенсивной многопользовательской работы в БД накапливается так называемый "мусор", под которым понимают старые версии записей, которые могут образовываться при одновременном доступе к записям нескольких тран­закций. Наличие мусора увеличивает размер и фрагментацию БД, поэтому БД надо периодически чистить — "удалять мусор" (удаление мусора также называют "сбором мусора").

Удаление мусора можно выполнять в ручном или автоматическом режимах. В ручном режиме удаление мусора начинается командой Maintenance\Sweep (Обслуживание\Чистка). Во втором режиме удаление мусора начинается автома­тически, когда общее число примененных к БД транзакций достигает предель­ного значения. По умолчанию это значение установлено равным 20 000, его можно изменить в поле Sweep Interval (Интервал чистки) окна свойств БД (Database Properties).

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

Мусор удаляется также при резервном копировании и последующем восстанов­лении БД.

Проверка состояния базы данных

БД должна находиться в целостном и непротиворечивом состоянии, т. е. содер­жать правильные данные. Для проверки состояния БД нужно выбрать команду Maintenance\Validation, которая открывает диалоговое окно проверки БД Database Validation (рис. 16.11).


Глава 16. Инструменты для работы с удаленными базами данных



В надписи Database отображается имя проверяемой БД, а группа Options позво­ляет задать параметры поверки:

Validate Record Fragments (проверка структуры БД и структуры страниц);

Read Only Validation (в процессе проверки допускается только читать, но не

изменять записи);

□ Ignore Checksum Errors (ошибки контрольных сумм игнорируются).

По умолчанию все параметры имеют значение False, т. е. выключены. После нажатия кнопки ОК выполняется проверка, о результатах которой выдается со­ответствующий отчет в окне Validation Report.

Анализ статистики

В процессе управления БД собирается определенная информация, характери­зующая ее работу и функционирование. Эта информация называется статисти­кой, несмотря на то что часть ее является управляющей информацией, опреде­ляемой в том числе и при создании БД (например, размер страницы или дата создания БД). К собственно статистике относятся такие сведения, как частота обновления заголовка БД и гистограмма заполнения страниц.

Для вывода статистики нужно выбрать команду Maintenance\Database Statistics, которая открывает диалоговое окно Database Statistics (рис. 16.12).

Рис. 16.12. Статистика БД

Выводимые в окне сведения о БД сгруппированы по секциям:

□ Database (имя БД);

□ Database header page information (страница заголовка БД):

 

• Flags (флаги);

• checksum (контрольная сумма);

• Generation (счетчик обновлений заголовка);

• Page size (размер страницы);


456


Часть III. Удаленные базы данных


• ods version (версия формата файла БД);

• oldest transaction (номер самой старой незавершенной (активной, от­мененной или сбойной) транзакции);

• oldest active (номер самой старой активной транзакции);

• Next transaction (номер, который будет назначен следующей транзакции);

• Sequence number (номер первой страницы);

• Next attachment id (номер, который будет назначен следующему соеди­нению);

• implementation id (идентификатор операционной системы, в которой создана БД);

• shadow count (число теневых файлов, определенных для БД);

• Page buffers (номер страницы в кэше БД);

• Next header page (номер, который будет назначен следующей странице заголовка);

• Creation date (дата создания БД);

• Attributes (атрибуты БД);

□ Database file sequence (список файлов БД):

• File (имя файла);

□ Database log page information (страница журнала БД).

Сохранение и восстановление базы данных

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

Для создания резервной копии БД нужно выполнить команду Maintenance\ Backup-Restore\Backup, которая откроет окно создания резервной копии Database Backup (рис. 16.13).

В списке Alias группы Database выбирается имя сохраняемой БД, а элементы группы Backup File(s) определяют файл результата — сохраненной копии БД. В комбинированных списках Server и Alias выбирается или вводится соответст­венно имя сервера и БД для сохраняемой БД, а в поле Filename(s) вводится пол­ное имя файла копии БД. В приведенном на рис. 16.13 варианте в имени копии указано слово Сору, а расширение gdb оставлено без изменений. В примерах, поставляемых совместно с сервером InterBase, имена копий совпадают с именами исходных файлов, а расширения изменены на gbk.

Группа Options позволяет задать следующие параметры:

□ Format (Формат) — формат копии, которая по умолчанию создается в перено­
симом формате, не зависящем от операционной системы: сделанную в этом


Глава 16. Инструменты для работы с удаленными базами данных


457



формате копию можно перенести (восстановить) на компьютер под управлени­ем любой из операционных систем, где установлен сервер InterBase;

Metadata Only (Только метаданные) — копируются только метаданные БД, т. е. ее структура; в результате будет скопирована (создана) пустая БД; по умолча­нию параметр имеет значение False, поэтому создается полная копия БД;

Garbage Collection (Сбор мусора) — при копировании производится сбор му­сора (по умолчанию);

Transaction in Limbo (Транзакция в "забвении") — учитываются сбойные транзакции, которые могут возникнуть при размещении БД на нескольких серверах (значение Process по умолчанию); значение ignore предписывает не учитывать сбойные транзакции;

Checksums (Контрольные суммы) — учитываются ошибки, связанные с не­совпадением контрольных сумм (значение Process по умолчанию); при зна­чении ignore ошибки контрольных сумм игнорируются;

Convert to Tables (Преобразование в таблицы) — преобразование в таблицы, по умолчанию False;

Verbose Output (Расширенный вывод) — указывает устройство, на которое в процессе копирования выдается дополнительная информация о ходе процес­са, по умолчанию экран (значение то screen); кроме экрана можно указать файл (то File) или отменить выдачу сообщений (None).

После завершения процесса выдается отчет о результатах, который в случае успеш­ного создания копии выводится в окне Database Backup и имеет следующий вид:

gbak: readied database D:\ibData\REGISTRATION.GDB for backup gbak: creating file d:\save\CopyRegistration.gdb


458


Часть III. Удаленные базы данных


 


gbak gbak gbak gbak gbak gbak

gbak gbak gbak gbak gbak gbak gbak


starting transaction

database D:\ibData\REGISTRATION.GDB has a page size of 4096 bytes.

writing domains

writing shadow files

writing tables

writing functions

writing privilege for user SYSDBA

writing privilege for user PUBLIC

writing table constraints

writing referential constraints

writing check constraints

writing SQL roles

closing file, committing, and finishing. 512 bytes written


При наличии ошибок копия не создается, а отчет содержит сообщения об ошибках.

(Замечание^

Если резервное копирование выполняет не системный администратор, а пользова­тель, то ошибки могут быть связаны с отсутствием у него прав доступа к информа­ции БД.

Резервная копия представляет собой архивный файл, размер которого в не­сколько раз меньше, чем размер исходного файла (файлов) БД.

Процесс восстановления БД из резервной копии БД инициируется командой Maintenance\Backup-Restore\Restore, открывающей диалоговое окно Database Restore (рис. 16.14).

В списке Alias группы Backup File(s) выбирается имя сохраненной БД, после чего имя ее файла-копии автоматически выводится в поле Filename(s). Если имя БД отсутствует в списке, то можно задать ее файл, выбрав в списке элемент File и указав его имя в открывшемся окне Open. Элементы группы Database опреде­ляют сервер (Server), имя БД (Alias) и главный файл БД (Filename(s)).

Группа Options содержит следующие параметры восстановления:

Page Size (Bytes) — размер в байтах страницы восстанавливаемой БД (по умолчанию 1024);

Overwrite (Перезаписать) — если расположение и имя восстанавливаемой копии совпадают с расположением и именем существующей БД, то послед­няя будет заменена копией; по умолчанию имеет значение False, т. е. сохра­няется существующая БД;

Commit After Each Table (Подтверждение после каждой таблицы) — при вос­становлении каждой таблицы выдается запрос на подтверждение этой опера­ции; по умолчанию этот параметр имеет значение False, и запрос не выдается;


Глава 16. Инструменты для работы с удаленными базами данных


459


 



 


Create Shadow Files (Создание теневых файлов); по умолчанию False, т. е. восстановление выполняется без создания теневой (зеркальной) копии БД;

Deactivate Indices (Отключить индексы) — восстановление выполняется с отключенными индексами; по умолчанию этот параметр имеет значение False, и индексы активны;

Validity Conditions (Условия проверки) — при значении Restore (по умолча­нию) выполняется восстановление ограничений ссылочной целостности, при значении ignore ограничения не восстанавливаются;

Use All Space (Использовать все имеющееся пространство); по умолчанию

False;

□ Verbose Output (Расширенный вывод) — указывает устройство, на которое в
процессе копирования выдается дополнительная информация о ходе процес­
са, по умолчанию экран (значение то screen); кроме экрана, можно указать
файл (то File) или отменить выдачу сообщений (None).

После завершения процесса отчет о результатах, который в случае успешного восстановления БД выводится в окне Database Restore и имеет следующий вид:


JEDN JEDN JEDN JEDN JEDN JEDN JEDN JEDN JEDN


opened file d:\save\CopyRegistration.gdb transportable backup — data in XDR format

backup file is compressed Reducing the database page size from 4096 bytes to 1024 bytes created database D:\ibData\REGISTRATION.GDB, page_size 1024 bytes started transaction

restoring privilege for user SYSDBA

restoring privilege for user SYSDBA

restoring privilege for user SYSDBA


460


Часть III. Удаленные базы данных


Интерактивное выполнение SQL-запросов

Консоль IBConsole позволяет в интерактивном режиме выполнять инструкции, заданные на языке SQL. Выполнение SQL-запросов и получение их результатов выполняются в окне Interactive SQL (рис. 16.15), открываемом командой Tools\Interactive SQL. Это окно реализует практически ту же функциональность, которая в предыдущих версиях сервера InterBase была реализована в программе Windows Interactive SQL (WISQL). В заголовке окна отображается имя файла БД, а в строке состояния — его полное имя. Одновременно можно открыть не­сколько окон Interactive SQL для различных БД.

В окне Interactive SQL можно выполнять различные операции с БД, включая создание и удаление БД и ее таблиц, соединение с БД, просмотр и изменение данных. Выполнение операций с БД основано на выполнении соответствующих инструкций языка SQL (SQL-запросов). Эти инструкции формируются и вы­полняются автоматически при выборе определенных команд меню. Так, при создании БД на основании указанных параметров формируется инструкция

CREATE DATABASE.

Кроме того, можно набирать и выполнять инструкции вручную. Инструкции вводятся в верхней части окна, а в нижней его части выдаются результаты их выполнения.


Глава 16. Инструменты для работы с удаленными базами данных


461


Инструкции можно набирать и выполнять поочередно. Перемещение между отдельными инструкциями осуществляется нажатием кнопок с изображением желтых стрелок. Кнопка со стрелкой влево выводит в окне предыдущую, а со стрелкой вправо — следующую инструкцию. Выполнение инструкции осуществ­ляется при нажатии кнопки с изображением желтой молнии.

Результаты работы инструкции можно запомнить в обычном текстовом файле, выбрав команду сохранения результата Query\Save Output.

Последовательность действий, заданных после запуска окна Interactive SQL, можно сохранить в виде "истории". Для этого предназначена команда File\Save SQL History. "История" запоминается в виде текстового файла с расширением hst или txt.

Последовательность инструкциий SQL представляет собой сценарий, или скрипт, его удобно использовать для автоматизации операций с БД. Сохранение сценария выполняется командой Query\Save Script. Скрипт запоминается в виде текстового файла с расширением sql или txt.

Сохраненный сценарий впоследствии можно загрузить, для этого надо выбрать команду Query\Load Script и указать имя сценария.

При выполнении операций, связанных с изменением БД, автоматически ис­пользуется механизм транзакций, т. е. одновременно с началом изменяющей БД операции запускается транзакция. Такой режим запуска транзакций, как вы уже знаете, называется неявным. Для фиксации выполненных изменений нужно выполнить оператор commit, а для их отмены (отката) — rollback (это же мож­но сделать с помощью команд Transactions\Commit и Transactions\Rollback).

Параметры выполнения SQL-запросов устанавливаются в окне SQL Options, открываемом командой Edit\Options (рис. 16.16).


462


Часть III. Удаленные базы данных


На странице Options можно задать следующие параметры:

Show Query Plan (Показывать план выполнения запроса);

Auto Commit DDL (Автоматическое подтверждение операций DDL) — инст­рукции определения данных, например создания таблиц, автоматически под­тверждаются, т. е. связанная с инструкциями неявная транзакция не требует дополнительного подтверждения;

Character Set (Набор символов, используемый для кодировки строк); в на­шей стране рекомендуется задавать набор wiNi2 5i;

BLOB Display (Режим отображения BLOB-объектов); может принимать зна­чения Restrict, Enabled И Disabled;

BLOB Subtype (Тип данных, содержащихся в объекте BLOB); по умолчанию

Text;

Terminator (Разделитель, используемый в качестве знака окончания SQL-запроса) — по умолчанию точка с запятой (;);

Client Dialect (Диалект (версия) языка SQL).

Флажок Clear input window on success управляет режимом очистки верхней поло­вины окна с текстом SQL-запроса в случае его успешного выполнения. По умолчанию флажок установлен, и окно очищается.

(_____ ЗамечаниеJ

d коде хранимых процедур и триггеров в качестве разделителя используется знак;, который не является окончанием SQL-запроса. Поэтому при их отладке для пара­метра Terminator необходимо установить другое значение, например, пробел.

Дополнительные параметры устанавливаются на странице Advanced (рис. 16.17). Наибольший интерес представляет группа переключателей Transactions, которые определяют режим подтверждения незавершенной транзакции при прекращении работы с БД: подтверждать незавершенную транзакцию (Commit on exit) или отменять ее (Rollback on exit).

Управление БД в окне Interactive SQL фактически происходит в ручном режиме и заключается в вводе и выполнении инструкций SQL. Единственным средст­вом автоматизации, например, при создании таблиц или триггеров, является использование сценариев, хотя и в этом случае сценарии должны быть предва­рительно подготовлены. По удобству работы окно Interactive SQL уступает даже относительно простым программам типа Database Desktop. Несмотря на это, управление БД рассмотрено нами именно с использованием интерактивного SQL. Это сделано для того, чтобы показать особенности работы с удаленными БД, а также продемонстрировать язык SQL для удаленного сервера.

Кроме консоли IBConsole и подобных ей программ, есть так называемые сред­ства CASE, с помощью которых разработчик может управлять БД в интерактив­ном режиме.


Глава 16. Инструменты для работы с удаленными базами данных


463


 



 


Программа SQL Monitor

Программа SQL Monitor представляет собой инструмент, позволяющий отсле­живать выполнение SQL-запросов к удаленным БД. Для запуска программы нужно выбрать команду Database\SQL Monitor или запустить файл sqlmon.exe, находящийся в каталоге BIN главного каталога Delphi. Программу также можно запустить через меню Пуск Windows командой Программы\Вог1ап(1 Delphi 7\SQL Monitor.

Программа SQL Monitor (Монитор) отслеживает операции доступа к удаленным БД с помощью драйверов SQL-Links. Поэтому для локальных БД применять эту программу бесполезно, даже если используются средства языка SQL. Это связа­но с тем, что для локальных БД применяются локальные драйверы.


Замечание


J


Если в приложении использованы компоненты страницы InterBase Палитры ком­понентов, например, набор данных iBQuery, то доступ к БД выполняется напрямую через BDE без использования драйвера SQL-Links. В этом случае контролиро­вать выполнение SQL-запросов к БД InterBase с помощью программы SQL Monitor невозможно.

После запуска Монитор автоматически отслеживает порядок выполнения SQL-запросов (выполняет трассировку инструкций), ведя журнал работы с удаленной БД. Монитор отслеживает запросы для указанного в команде Clients клиента, при отладке Delphi-приложения таким клиентом является Delphi 7. Строки журнала выводятся в верхней части окна программы (рис. 16.18). В нижней час­ти окна отображается строка последнего запроса.


464


Часть III. Удаленные базы данных


Для сохранения журнала в текстовом файле нужно выполнить команду File\Save Log и указать имя файла, для очистки журнала — команду Edit\Clear, для копи­рования его содержимого в буфер — команду Edit\Copy.

Рис. 16.18. Окно программы SQL Monitor

Параметры Монитора устанавливаются в окне параметров трассировки Trace Options (рис. 16.19), открываемом командой Options\Trace Options.



 


Глава 16. Инструменты для работы с удаленными базами данных


465


С помощью параметров Монитора можно регулировать степень подробности информации, заносимой в журнал. Монитор имеет следующие параметры:

Prepared Query Statements (подготовленные запросы, передаваемые на сервер);

Executed Query Statements (выполненные на сервере запросы);

Input Parameters (входные параметры) — данные, передаваемые на сервер в качестве параметров запросов;

Fetched Data (данные, возвращаемые сервером);

Statement Operations (операции с запросами) — allocate, prepare, execute

и fetch;

Connect/Disconnect (операции соединения с сервером и отключения от него);

Transactions (операции управления транзакциями);

Blob I/O (ввод/вывод данных типа blob);

Miscellaneous (остальные операции);

Vendor Errors (сообщения об ошибках, возвращаемые сервером);

Vendor Calls (вызовы API-функций сервера).

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

SELECT * FROM ti

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

Prepared Query Statements

Executed Query Statements

Transactions

Тогда после выполнения приведенного запроса в журнал будут занесены такие данные:

1 01:10:47 SQL Prepare: INTRBASE - SELECT 1 FROM ti

2 01:10:47 SQL Transact: INTRBASE - XACT (UNKNOWN)

3 01:10:47 SQL Execute: INTRBASE - SELECT I FROM ti

4 01:10:47 SQL Transact: INTRBASE - XACT Commit

Монитор можно разместить поверх всех окон командой Options\Always on Top.


Глава 17

Трехуровневые приложения

Развитие архитектуры "клиент-сервер" привело к появлению трехуровневой ар­хитектуры, в которой кроме сервера и приложений-клиентов (клиентов) допол­нительно присутствует сервер приложений. Сервер приложений является про­межуточным уровнем, обеспечивающим организацию взаимодействия клиентов ("тонких" клиентов) и сервера, например, выполнение соединения с сервером, разграничение доступа к данным и реализацию бизнес-правил. Сервер прило­жений реализует работу с клиентами, расположенными на различных платфор­мах, т. е. функционирующими на компьютерах различных типов и под управле­нием различных операционных систем. Сервер приложений также называют брокером данных (broker — посредник).

Основные достоинства трехуровневой архитектуры "клиент-сервер":

□ снижение нагрузки на сервер;

□ упрощение клиентских приложений;

□ единое поведение всех клиентов;

□ упрощение настройки клиентов;

□ независимость от платформы.

Информационные системы, основанные на трехуровневой сетевой архитектуре, называют также распределенными.

Принципы построения трехуровневых приложений

В системе Delphi постоянно совершенствуются используемые технологии программирования и соответствующие им наборы компонентов. Так, в преды­дущих версиях системы применяемые при разработке многоуровневых прило­жений технологии и средства объединялись под общим названием MIDAS (Multi-tier distributed application services — службы многоуровневых распределен­ных приложений). В последней версии системы соответствующие средства (компоненты и объекты) получили общее название DataSnap.


Глава 17. Трехуровневые приложения


467


В Delphi 7 поддерживается создание многоуровневых приложений, основанных на перечисленных ниже технологиях межпрограммного и межкомпьютерного взаимодействия.

□ Модель DCOM (Distributed Component Object Model — модель распределен­ных компонентных объектов) позволяет использовать объекты, расположен­ные на другом компьютере.

□ Сервер MTS (Microsoft Transaction Server — сервер транзакций Microsoft) является дополнением к технологии СОМ, разработанной фирмой Microsoft, и предназначен для управления транзакциями.

□ Модель СОМ+ (Component Object Model+ — усовершенствованная объект­ная модель компонентов) фирмы Microsoft введена в Windows 2000 и интег­рирует технологии MTS в стандартные службы СОМ.

□ Сокеты TCP/IP (Transport Control Protocol/Protocol Internet — транспортный протокол/протокол Интернета) используются для соединения компьютеров в различных сетях, в том числе в Интернете.

□ CORBA (Common Object Request Broker Architecture — общедоступная архи­тектура с брокером при запросе объекта) позволяет организовать взаимодей­ствие между объектами, расположенными на различных платформах.

□ SOAP (Simple Object Acces Protocol — простой протокол доступа к объектам) служит универсальным средством обеспечения взаимодействия с клиентами и серверами Web-служб на основе кодирования XML и передачи данных по протоколу HTTP.

При создании трехуровневого приложения разработка БД и использование сер­вера принципиально не отличаются от уже рассмотренного случая двухуровне­вых приложений. Главные особенности трехуровневого приложения связаны с созданием сервера приложений и клиентского приложения, а также с организа­цией взаимодействия между ними. Для разработки многоуровневых приложе­ний, кроме рассмотренных ранее средств, используются удаленные модули дан­ных и компоненты, размещенные на странице DalaSnap Палитры компонентов.

В трехуровневой архитектуре с использованием механизма доступа BDE процес­сор баз данных в обязательном порядке устанавливается совместно с сервером приложений, при этом на клиентском компьютере должна быть установлена только библиотека DBClient.dll относительно небольшого размера (210 Кбайт). Таким образом, на компьютере пользователя "тонким" является не только кли­ент, но и процессор баз данных. Соответствующая трехуровневая архитектура схематично представлена на рис. 17.1. В частном случае два или все три уровня могут располагаться на одном компьютере, что широко используется при отлад­ке приложений.

Взаимодействие между сервером приложений и клиентом организуется через интерфейс провайдера, называемый интерфейсом оператора или просто провай­дером. Этот интерфейс обеспечивает передачу информации в виде пакетов дан­ных. Физически пакеты данных представляют собой совокупности двоичных кодов, образующих блоки. Логически пакет данных является подмножеством


468


Часть III. Удаленные базы данных


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

Рис. 17.1. Трехуровневая архитектура типа "клиент-сервер"

Данные, отредактированные клиентом, пересылаются обратно в так называемых дельта-пакетах. В дельта-пакете содержи



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: