Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

arithmetic overflow or string truncation при Restore [D5, IB6.x, ]


kaif ©   (2001-12-04 17:42:00) 

У меня большая проблема с работой TIBRestoreService (IBX4.62). База данных dialect 3. При Restore базы случайным образом происходит сбой то на одном, то на другом PRIMARY KEY или FOREIGN KEY. Никакой системы не чувствую. Помогите советом, кто может.


kaif   (2001-12-04 19:08:00) [1]

Сервис Restore вроде не имеет таких параметров. Я посмотрел текст TIBRestoreService. Он, как и IBConsole вызывает всего лишь функцию isc_service_start(StatusVector, @FHandle, nil,
FStartSPBLength, FStartSPB), False);
Методом тыка удалось обнаружить, что:
1) Restore назначает новые имена индексам RDB$... в таблице RDB$INDICES. Так что ощущение случайного характера сбоя возникает от этого.
2) Restore не может восстановить PRIMARY KEY таблицы, если в ней имеется только одно (!) поле ID и в определении таблицы указано PRIMARY KEY(ID).
3) Есть еще целый ряд ситуаций, где Restore дает тот же сбой. Причем весьма странных. Например, имеется поле SMALLINT DEFAULT 0 NOT NULL и таблица пуста. Я занят тем, что удаляю таблицы одну за другой и делаю Backup/Restore, надеясь добиться хоть одного нормального Restore. Просто кошмар какой-то...


Вячеслав   (2001-12-04 18:44:00) [2]

А что-то типа set names прописать в начале?


Наверх

Титульная страница Поиск, карта сайта Написать письмо