Создание базы из скрипта - прерывание в случае ошибки

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

Модераторы: kdv, Alexey Kovyazin

Ответить
Saltaev
Сообщения: 6
Зарегистрирован: 25 апр 2006, 13:24

Создание базы из скрипта - прерывание в случае ошибки

Сообщение Saltaev » 03 авг 2006, 12:57

В скрипте для создания БД первая команда

Код: Выделить всё

CREATE DATABASE
, затем идет приличное количество DDL-выражений. При запуске скрипта первое выражение по некоторым причинам (БД существует, нет доступа, сеть недоступна и т. д.) может вызвать ошибку, после чего все последующие выражения тоже не выполняются, на что isql пишет

Код: Выделить всё

Use CONNECT or CREATE DATABASE to specify a database
В итоге весь экран заполнен этими сообщениями, а истинную причину ошибки не видно ':evil:'.
Как заставить isql прекратить выполнение скрипта сразу после первой ошибки ':?:'

Информация о версиях:
  • Firebird TCP/IP server version LI-V1.5.2.4731 Firebird 1.5
    Kernel 2.6.9-1.667 on an i686
03.08.2006

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: Создание базы из скрипта - прерывание в случае ошибки

Сообщение dimitr » 03 авг 2006, 13:42

Saltaev писал(а):В итоге весь экран заполнен этими сообщениями, а истинную причину ошибки не видно ':evil:'
а перенаправить вывод в файл не судьба?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 03 авг 2006, 14:31

Я не помню, -bail_on_error в 1.5.3 есть? В двойке-то он точно есть...

Ответить