Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

arithmetic overflow or string truncation при Restore 


kaif   (2001-12-04 17:42) [0]

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



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

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



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

Сервис 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. Просто кошмар какой-то...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.022 c
1-22060           Atrem                 2001-12-18 19:18  2002.01.08  
Метод Insert Richedit-а


1-22163           Марина                2001-12-20 16:29  2002.01.08  
Названия месяцев


3-21902           Andrey Pogorelov      2001-12-02 10:49  2002.01.08  
Проблема с составлением запроса и выводом его в QReport


7-22427           KLM                   2001-09-20 06:34  2002.01.08  
Защита программы от копирования


1-22069           Xtorm                 2001-12-19 10:40  2002.01.08  
Как?