Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
. ! .
Восстановление
Следующий пример восстанавливает многотомную базу данных из каталога /january на сервере hotchicken в каталог /currentdb. Он использует переключатель -r[epiace_database] и будет перезаписывать базу данных magic.fdb, если она будет найдена в /currentdb. Первые два файла восстанавливаемой базы данных имеют длину 500 страниц, а последний будет увеличиваться в размерах по необходимости.
gbak -r -user frodo -pas pipeweed -se hotchicken:service_mgr
/january/magicl.fbk /january/magic2.fbk /january/magicLast.fbk
/currentdb/magic.fdb 500 /currentdb/magic.fd2 500
/currentdb/magic.fd3
Следующий пример выполняется на сервере hotchicken и восстанавливает копию, которая находится на hotchicken, на другой сервер с именем icarus:
gbak -с -user frodo -pas pipeweed -se hotchicken:service_mgr
/january/magic. fbk j carus : /currentdb/raagic. fdb
Сообщение об ошибках gbak
В табл. 38.3 описаны сообщения об ошибках, которые могут возникнуть в процессе копирования и восстановления, вместе с некоторыми советами, как поступать с этими ошибками.
Таблица 38.3. Сообщения об ошибках gbak при копировании и восстановлении
Сообщение об ошибке |
Причины и рекомендуемые действия |
Array dimension for column is invalid (Ошибочная размерность массива для столбца <���строка>) |
Исправьте определение массива перед копированием |
Bad attribute for RDB$CHARACTER SETS (Неверный атрибут для RDB$CHARACTER_SETS) |
Используется несовместимый набор символов |
Bad attribute for RDB$COLLATIONS (Неверный атрибут для RDB$COLLATIONS) |
Исправьте атрибут в указанной системной таблице |
Bad attribute for table constraint (Неверный атрибут для ограничения таблицы) |
Проверьте ограничения целостности. Если ошибка возникла при восстановлении, рассмотрите возможность использования режима -no_validity для удаления проверки ограничений |
Blocking factor parameter missing (Отсутствует параметр коэффициента блокирования) |
Задайте числовой аргумент для режима "коэффициент" (например, для ленточного устройства для копии) |
Cannot commit files (Невозможно подтвердить файлы) |
База данных содержит дефекты или нарушения ограничений целостности метаданных. Попытайтесь восстановить таблицы с использованием режима -one at a time или удалите проверку ограничений, используя режим -no_yalidity |
Cannot commit index (Невозможно подтвердить индекс <���строка>) |
Возможно, данные конфликтуют с определенными индексами. Попытайтесь выполнить восстановление с использованием "неактивного" режима для предотвращения создания индексов |
Cannot find column for blob ... (Невозможно найти столбец blob) |
Используйте -one_at_a_time для отыскания проблемной таблицы |
Cannot find table . . . (Невозможно найти таблицу <���строка>) |
То же |
Cannot open backup file (Невозможно открыть файл копии <���строка>) |
Исправьте имя файла копии и выполните снова |
Cannot open status and error output file (Невозможно открыть выходной файл состояния и ошибок <���строка>) |
Сообщения были направлены в файл с неверным именем или в файл, который уже существует. Проверьте формат задания файла или полномочия к каталогу выходного файла, либо удалите существующий файл, либо выберите другое имя для файла протокола |
Commit failed on table (Ошибка подтверждения таблицы <���строка>) |
Разрушение данных или нарушение ограничения целостности в указанной таблице. Проверьте метаданные или восстановите "одну таблицу за раз" |
Conflicting switches for backup/restore (Конфликт переключателей для копирования/восстановления) |
Режим только для копирования и режим только для восстановления были использованы в одной операции. Исправьте и снова выполните команду |
Couxd not open file name (Невозможно открыть файл с именем <���строка>) |
Исправьте имя файла и снова выполните команду |
Could not read from file (Невозможно читать из файла <���строка>) |
Исправьте имя файла и снова выполните команду |
Could not write to file (Невозможно писать в файл <���строка>) |
Исправьте имя файла и снова выполните команду |
Datatype n not understood (Тип данных n неизвестен) |
Где-то задан неверный тип данных. Проверьте метаданные и при необходимости повторите команду с использованием -one at a time |
Database format n is too old to restore to (Формат базы данных слишком старый для восстановления) |
Используемая версия gbak несовместима с версией Firebird, которым создавалась база данных, указанная для копирования. Попытайтесь скопировать эту базу данных с использованием режима -expand или -old, а затем восстановите ее |
Database already exists (База данных <���строка> уже существует) |
Вы использовали -create при восстановлении файла копии, но указанная база данных уже существует. Если вы действительно хотите заменить существующую базу данных, используйте переключатель -R, в противном случае введите другое имя файла базы данных |
Could not drop database (database might be in use) (Невозможно удалить базу данных <���строка> (возможно, база данных используется)) |
Вы использовали -replace при восстановлении файла в существующую базу данных, но эта база данных находится в использовании. или измените имя у восстанавливаемой базы данных, или подождите завершения использования существующей базы данных |
Do not recognize record type n . . . (He распознан тип записи n) |
Проверьте метаданные и при необходимости выполните восстановление с использованием -one at_a time |
Do not recognize attribute n - continuing ... (He распознан атрибут n <���строка> - выполнение продолжается) |
Не фатальная ошибка в данных |
Do not understand BLOB INFO item n ... (Непонятный элемент BLOB INFO) |
|
Error accessing BLOB column - continuing ... (Ошибка при обращении к столбцу BLOB <���строка> - выполнение продолжается) |
Не фатальная ошибка в данных |
ERROR: Backup incomplete The backup cannot be written to the target device or file system (ОШИБКА: копирование не завершено. Копия не может быть записана на устройство или в файл системы) |
Причинами могут быть недостаточное пространство, проблемы с выводом на устройство или разрушение данных |
Error committing metadata for table (Ошибка при подтверждении метаданных для таблицы <���строка>) |
Возможно, таблица разрушена. При восстановлении базы данных используйте -one at a time для изоляции таблицы |
Exiting before completion due to errors (Выход до завершения по причине ошибок) |
Это сообщение сопровождает другие сообщения об ошибках и указывает на то, что копирование или восстановление не может быть выполнено. Причину найдите в других сообщениях об ошибках |
Expected array dimension n but instead found m (Ожидается размерность массива n, но найдена m) |
Интервал:
Закладка: