Опубликован: 07.05.2010 | Уровень: специалист | Доступ: платный
Лекция 15:

Технические характеристики. Создание и перенос базы данных

< Лекция 14 || Лекция 15: 123 || Лекция 16 >

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

Может случиться, что вам придется не создавать новую базу данных, а зарегистрировать уже имеющуюся, например, при переустановке InterBase. Другими словами, файл *. gdb с какой-то базой данных у вас уже есть, требуется лишь зарегистрировать его в локальном или в удаленном сервере. Для демонстрации этой возможности придется вначале убрать регистрацию нашей БД first.gdb.

Щелкните правой кнопкой мыши по псевдониму first в дереве серверов и выберите команду Disconnect для закрытия БД (с открытой БД нельзя снять регистрацию) и подтвердите закрытие БД. Значок псевдонима вместо зеленой галочки отметится красным крестиком, сообщая, что БД закрыта. Снова щелкните правой кнопкой по этому псевдониму и выберите команду Unregister (Удаление регистрации), подтвердите команду. После этого вы увидите, что локальный сервер больше не содержит никакой БД:

Отсутствуют зарегистрированные базы данных

Рис. 15.3 . Отсутствуют зарегистрированные базы данных

Между тем, файл first.gdb на диске остался. Теперь нам нужно снова зарегистрировать его. Делается это командой меню Database -> Register. Вы увидите окно регистрации БД:

Окно регистрации БД

Рис. 15.4 . Окно регистрации БД

В разделе Database в первом поле File щелкните по кнопке справа и найдите наш файл, при этом имя файла, включая расширение, автоматически появится во втором поле Alias Name. Чтобы воссоздать предыдущие настройки, уберите точку и расширение из имени алиаса, оставив только имя FIRST.

Здесь же следует заметить, что если вы регистрируете базу данных на удаленном сервере, то в поле File вам потребуется указать реальный адрес и имя файла БД, который находится на удаленном компьютере. Предположим, что на ПК "А" установлен и запущен сервер InterBase, причем база данных там находится по адресу

C:\DATABASES\SomeBD.gdb

Вы регистрируете эту БД на компьютере пользователя "Б". Удаленный сервер, как говорилось в прошлой лекции, у вас уже зарегистрирован, там вы указывали IP -адрес компьютера "А". Теперь вам нужно зарегистрировать базу данных. Когда вы даете команду на регистрацию базы данных, в дереве серверов на IBConsole у вас должен быть выделен этот удаленный сервер. В поле File вы указываете строку

C:\DATABASES\SomeBD.gdb

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

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

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

SYSDBA

masterkey (если вы еще не меняли пароль администратора)

В нижнем поле Default Character Set выбираем кодировку WIN1251 и нажимаем кнопку " OK ". Все, база данных вновь зарегистрирована и открыта.

Перенос базы данных

Под переносом базы данных здесь подразумевается преобразование БД из локальных технологий ( dBase, Paradox, MS Access или из файлов MS Excel ) в клиент-серверную БД InterBase. Вообще-то, во избежание ошибок, делать этого не рекомендуется: если вы сразу создадите БД в InterBase, то не получите возможных проблем несовпадения типов данных. Однако как быть, если БД уже существует и содержит не одну тысячу записей? Придется такую базу переносить. Делается это утилитой Datapump, которая входит в поставку Delphi, устанавливается вместе с ней и загружается из того же раздела меню, что и Delphi.

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

C:\Menu

и иметь псевдоним MenuParadox. Если у вас этого нет, то вернитесь на 5 лекцию, создайте и зарегистрируйте базу данных, как там описано.

Далее нам нужно будет зарегистрировать псевдоним нашей базы данных First.gdb. Это можно сделать в утилите SQL Explorer, которая устанавливается вместе с Delphi и запускается из меню

Пуск -> Программы -> Borland Delphi 7 -> SQL Explorer

Утилита SQL Explorer

Рис. 15.5 . Утилита SQL Explorer

Щелкните правой кнопкой по свободному месту окна с базами данных и выберите команду New. В поле Database Driver Name нужно будет выбрать "INTERBASE" и нажать кнопку "OK". Будет создан новый псевдоним с названием по умолчанию INTERBASE1, который мы изменим на FirstIB. В правом окне вы увидите параметры псевдонима, некоторые из них нужно будет изменить.

Вы помните, что в базе данных MenuParadox мы изменили кодировку на Pdox ANSI Cyrillic? Эту же кодировку нужно будет выбрать в строке LANGDRIVER.

Затем в строке SERVER NAME нужно будет выбрать файл с БД:
C:\DATABASES\FIRST.GDB
< Лекция 14 || Лекция 15: 123 || Лекция 16 >
Евгений Медведев
Евгений Медведев

В лекции №2 вставляю модуль данных. При попытке заменить name на  fDM выдает ошибку: "The project already contains a form or module named fDM!". Что делать? 

Анна Зеленина
Анна Зеленина

При вводе типов успешно сохраняется только 1я строчка. При попытке ввести второй тип вылезает сообщение об ошибке "project mymenu.exe raised exception class EOleException with message 'Microsoft Драйвер ODBC Paradox В операции должен использоваться обновляемый запрос'. 

Денис Попов
Денис Попов
Россия, Оренбург, Оренбургский государственный университет, 2015
Рустам Кадыров
Рустам Кадыров
Россия, Тирлян, Тирлянская школа №5, 2003