Форум: "Базы";
Поиск по всему сайту: 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.02 c
1-22068           Андрей21              2001-12-19 10:35  2002.01.08  
Многоязыковое приложение


1-22235           DDDeN                 2001-12-17 06:47  2002.01.08  
Заставка


1-22119           Socol                 2001-12-15 10:45  2002.01.08  
Помогите по двум вопросам!


4-22455           Mamed                 2001-10-31 10:13  2002.01.08  
Активизировать окно другой программы


3-21921           MVova                 2001-12-04 10:41  2002.01.08  
Связь многие ко многим ;)