Скачиваний:
150
Добавлен:
17.06.2016
Размер:
3.31 Mб
Скачать

Db_open/3 Внешняя База Данных

Назначение Открывает базу данных

Обращение db_open(БДанн,Имя,Место)

Домены (db_selector,string,place)

Шаблоны описания (вх,вх,вх)

аргументов

Описание обращение к db_open связывает базу данных,

обозначенную БДанн, с существующей базой данных,

определенной при помощи Имя и Место.

db_open выдает сообщения об ошибках только в

следующих случаях:

# База данных не существует.

# Файл не удовлетворяет структуре внешней базы данных

Турбо Пролога.

# База данных помечена как недействительная.

Неудачное Никогда не дает.

завершение

Ошибки 1032 База данных уже открыта.

1033 Недопустимое имя файла базы данных.

1045 Невозможно открыть указанную базу данных

в этом месте.

1047 База данных помечена как ошибочная.

Пример

domains

db_selector = mydba

goal

db_open(mydba,"dd.bin",in_file),

%....... Здесь выборка и модификация базы данных

db_close(mydba).

Db_openinvalid/3 Внешняя База Данных

Назначение Открывает базу данных, помеченную как

ошибочную

Обращение db_openinvalid(БДанн,Имя,Место)

Домены (db_selector,string,place)

Шаблоны описания (вх,вх,вх)

аргументов

Описание База данных помечается как достоверная, когда она

закрывается или когда ее записывают на диск при

помощи операции flush; в этих случаях она остается

достоверной до внесения изменений. Однако, если

система сбрасывалась (например из-за пропадания

питания) и база данных не записывалась на диск, могут

быть неприятности. В этом случае, использование

db_openinvalid позволит продолжить работу с базой

данных, помеченной как ошибочная. Это может позволить

восстановить некоторые данные, когда все попытки

доступа к ним не удаются. В то же время, попытка

использования ошибочной базы данных после открытия ее

db_openinvalid может дать положительный результат.

Если целостность базы данных была нарушена, то

надежнее всего скопировать текст, содержащийся в

ошибочной базе данных и затем создавать новую базу

данных на основе скопированной.

Неудачное Никогда не дает.

завершение

Ошибки 1032 База данных уже открыта.

1033 Недопустимое имя файла базы данных.

1045 Невозможно открыть указанную базу данных

в этом месте.

1047 База данных помечена как ошибочная.

Пример

domains

db_selector = mydba

dbdom = city(cityno,cityname);

person(firstname,lastname,street,cityno,code)

cityno, cityname, firstname, lastname, street,

code = string

goal

db_openinvalid(mydba,"register.bin",in_file),

% Теперь вы можете только скопировать базу данных

текстовый файл

db_chains(mydba,Chain),

chain_terms(mydba,Chain,dbdom,Term,Ref),

write("\nTerm=",Term,", Ref=",Ref),

fail.

Соседние файлы в папке Документация