Сервер InterBase в Delphi

Сервер InterBase в Delphi

В новую версию InterBase были внесены значительные изменения по сравнению с предыдущими версиями программы:

  • заменена графическая среда конфигурирования н поддержки InterBase-сервера IBConsole. Она заменила Server Manager и InterBase Windows ISQJL GUI, которые присутствовали в ранних версиях InterBase:
  • появилась возможность указания диалекта языка SQL, используемого при работе с базами данных;
  • добавлена возможность перевода баз данных в режим только для чтения. Используется для обеспечения большей безопасности и для работы с устройствами типа CD-R, где данные могут только считываться, но не записываться;
  •  предложены новые элементы языка, включающие новые ключевые слова, типы данных и многое другое;
  • расширена функциональность средств, работающих из командной строки;
  • расширен API InterBase;
  • введены дополнительные средства для обеспечения соединения с сервером. В частности, драйверы ODBC, поставляемые с более ранними версиями InterBase, заменены на EasySoft — специализированный сервер InterBase, который позволяет получить доступ к нескольким серверам баз данных, использующим различные операционные системы и сетевые инфраструктуры;
  • сделаны изменения в арифметических операциях и SQL-функциях;
  • внесены обновления в системные таблицы сервера (RDBSFIELDS и RDBSFUNC-TION_ARGUMENTS);в состав InterBase 6.5 включен IBReplicator, позволяющий копировать и синхронизировать данные в различных базах данных InterBase, имеющих схожую структуру.

Информация всей базы данных сервера InterBase содержится в одном файле, имеющем расширение GDB. Размер этого файла может быть очень большим (несколько десятков гигабайтов).

 

Удаленная база данных кроме таблиц включает в себя множество других элементов. Такие элементы получили название метаданных.

ПРИМЕЧАНИЕ: Приставка мега в данном случае обозначает над. Таким образом, метаданные — это надстройка, описывающая структуру базы данных.

К метаданным относятся:

  • таблицы;
  • индексы;
  • ограничения;
  • домены;
  • представления;
  • генераторы;
  • триггеры;
  • функции пользователей;
  • хранимые процедуры;
  • исключения;
  • BLOB-фильтры;
  • привилегии.

В InterBase существуют ограничения на число таблиц в одной базе данных, а также на количество столбцов в одной таблице. Максимальное значение для столбцов в таблице равно 1000, а число таблиц в базе данных не должно быть больше 65 536. 

 

ПРИМЕЧАНИЕ: Количество допустимых столбцов в таблицах InterBase имеет меньшее значение, чем, например, в таблицах Paradox.

 

ПРИМЕЧАНИЕ: В таблицах InterBase нет логического и автоинкрементного типов. Вместо автоинкрементного типа применяются генераторы и триггеры, а взамен логического типа используется CHARACTER(l).

 

Сервер InterBase требует отдельной установки. После инсталляции Delphi 7 будет выдан запрос на установку InterBase. Основные файлы сервера по умолчанию помещаются в папку
C:\Program Files\Borland\Interbase.
После установки сервер InterBase будет автоматически запущен, о чем свидетельствует значок J*!! в системном лотке. По умолчанию сервер теперь будет стартовать одновременно с Windows. Завершить работу сервера можно, щелкнув правой кнопкой мыши на пиктограмме и выбрав в появившемся контекстном меню пункт Shutdown (Завершение работы). Повторный запуск сервера осуществляет исполняемый файл ibserver.exe, который находится в папке C:\Program Files\Borland\Interbase\BIN.
Остальные команды контекстного меню предназначены для просмотра текущих свойств сервера (пункт Properties) и конфигурирования некоторых параметров сервера (пункт InterBase Properties). При выборе пункта InterBase Properties открывается окно свойств InterBase-сервера (рис. 10.1).
Это окно позволяет изменить значения параметров:
  • Database Cache (pages) — количество страниц памяти, используемых сервером для кэширования данных;
  • Client map size (bytes) — количество памяти в байтах, которое резервируется для каждого отдельного соединения с клиентом.

Рис. 10.1. Окно свойств InterBase-сервера  

Изменения этих параметров может производить только системный администратор сервера. Имя пользователя системного администратора — SYSDBA. Пароль администратора — masterkey.

 

В InterBase 6.5 введен новый интегрированный графический пользовательский интерфейс под названием IBConsole. С помощью данной программы вы можете:

  • управлять локальными и удаленными серверами баз данных;
  • управлять безопасностью сервера, в том числе:
    • авторизацией новых пользователей:
    • назначением и сменой паролей пользователей;
    •  удаленной авторизацией пользователей;
  • управлять сертификатами сервера;
  • управлять файлами баз данных, в том числе создавать новые базы данных и устанавливать свойства баз данных;
  • сохранять и восстанавливать базы данных;
  • обеспечивать поддержку баз данных:
    • проверять целостность информации;
    • восстанавливать поврежденные таблицы;
    • развертывать базы данных;
  • завершать работу баз данных и перезагружать их;
  • выполнять SQL-запросы в интерактивном режиме;
  • просматривать метаданные базы данных в формате SQL script.

Рис. 10.2. Главное окно программы IBConsole при первом запуске 

Главное окно программы IBConsole (рис. 10.2) состоит из следующих элементов:

  • строка меню;
  • панель инструментов, расположенная под строкой меню;
  • строка состояния, расположенная внизу окна и показывающая имена текущих выбранного сервера и базы данных, а также пользователей, подключенных к серверу;
  • область, отображающая зарегистрированные серверы п балы данных (слева), а также их подкатегории в стиле Проводника Windows:
  • область, отображающая данные различного характера (справа). 

 

Для регистрации локального сервера InterBase .можно воспользоваться программой IBConsole. Запустите ее и выберите в меню программы пункт Server -> Register (Сервер -> Зарегистрировать). После этого появится диалоговое окно регистрации сервера. Заполните его, как показано на рис. 10.3.

Таким образом, мы выбрали локальный сервер, назвали его MyServer п соединились с сервером под именем и с паролем администратора. Напомним, что пароль администратора — masterkey.

Пекле регистрации сервера в левой области окна отобразится информация о составе вновь созданного сервера. Теперь можно регистрировать базу данных сервера. Для этого нужно выбрать пункт меню Database -> Register (База данных -> Зарегистрировать). При этом откроется диалоговое окно регистрации базы данных (рис. 10.4).

Рис 10.3. Окно регистрации сервера  

Рис 10.4. Окно регистрации базы данных

 

Мы уже заполнили в этом окне некоторые поля. Поле File (Файл) должно содержать путь к файлу базы данных (имеющей расширение GDB). Поле Alias Name (Псевдоним) заполнится автоматически после заполнения поля File. В поля User Name (Имя пользователя) и Password (Пароль) мы ввели имя пользователя и пароль администратора сервера соответственно. После нажатия кнопки ОК мы подключимся к демонстрационной базе данных isc4.gdb, поставляемой вместе с InterBase (рис. 10.5).

 

Рис 10.5. Окно IBConsole после подключения к базе данных 

 

Перед соединением с базой данных из собственного приложения необходимо создать псевдоним базы данных. Воспользуемся для этого программой BDE Administrator, которую мы рассматривали ранее. Запустим BDE Administrator и создадим новый объект с помощью команды
Object -> New (Объект -> Создать). Назовем ero PROBA и установим тип базы данных INTERBASE. После этого зададим путь к серверу базы данных в свойстве SERVER NAME и имя пользователя в свойстве USER NAME, как показано на рис. 10.6.
Теперь можно приступать к созданию приложения, работающего с базой данных с помощью сервера InterBase. Для этого в форме приложения расположим компоненты Databasel, Queryl, DataSourcel и DBGridl (рис. 10.7).
Рис. 10.6. Параметры псевдонима базы данных  

Рис. 10.7. Заготоока формы приложения

 

ВНИМАНИЕ: В качестве набора данных может использоваться только компонент Query или подобный ему. Использованиекомпонента типа Table в клиент-серверных приложениях не допуска

Осталось установить свойства перечисленных компонентов. Эти свойства представлены в табл. 10.2.

 

Таблица 10.2. Свойства компонентов формы приложения

Компонент

Свойство

Значение

Databasel

AliasName

PROBA

Database*

DatabaseName

isc4.gdb

Query]

DatabaseName

isc4.gdb

Queryl

SQL

SELECT * FROM USERS

DataSourcel

DataSet

Queryl

DBGridl

DataSource

DataSourcel

 

 

Итак, мы указали в компоненте Databasel псевдоним и название базы данных. В компоненте Queryl мы определяем имя базы данных и формируем запрос на вы­борку всех данных из всех полей таблицы USERS (эта таблица храпит информацию о каждом из пользователей, зарегистрированных на сервере). Далее обычным спо­собом устанавливаем связь между компонентамиQueryl и DBGridl с помощью ком­понента DataSourcel.

 

Осталось активировать запрос в компоненте Queryl. Для этого установим его свойство Active в true, после чего будет выдан запрос на ввод имени пользователя и пароля (рис. 10.8).

 

Рис 10.8. Ввод имени пользователя и пароля 

 

Указываем пароль администратора и можем запускать приложение. Результат наших трудов показан на рис. 10.9.

Рис. 10.9. Результат выполнения программы

 

������� ������ ��� dle ������� ��������� ������

Помоги проекту! Расскажи друзьям об этом сайте: