![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
при резервировании базы выдается ошибка [D7, IB6.x]
stud © (2003-09-23 15:03:00)
arithmetic overflow or division by zero has occurred.
arirhmetic exception, numeric overflow, or string truncation.
что сие может означать?
создаю новую базу этими же скриптами, переношу данные датапампом - и в новой базе все работате??? что может быть?
stud (2003-09-25 17:30:00) [1]
однако сегодня проблема повторилась))
очевидно из-за смены типа полей. поменял timestamp на date.
таблицы известны, какие действия можно предпринять, кроме их удаления?
stud (2003-09-24 13:57:00) [2]
да нет все нормально со значениями, я же писал выше при удалении данных из таблицы и уничтожении первичного ключа тоже самое происходит. к тому же создание копии БД из этих же данных проходит нормально и все бекапится без проблем.
KaRaT (2003-09-24 13:50:00) [3]
Ключевое поле содержит дубликат (номер одинаковый). Такое происходить не должно, но глюки случаются... удали ключ, найди повторяющееся поле и сделай ему туда что-нибудь другое. Восстанови ключ.
stud (2003-09-24 13:04:00) [4]
но при удалении данных из таблицы то же самое было
Alex_Raider (2003-09-24 12:57:00) [5]
Это может быть (и есть)
и название этому только одно:
Убогенькие разработчики убогонького серверка сэкономили,
и объединили несколько сообщений об ошибках в одно сообщение,
специально чтобы пользователям (то бишь нам) их продукта было удобнее работать:
arithmetic overflow or division by zero has occurred.
arirhmetic exception, numeric overflow, or string truncation.
У тебя же имеет место быть последнее (изменил формат поля).
stud (2003-09-24 11:23:00) [6]
нашел в чем дело, точнее объекты. две таблицы удалил их - все нормально
Sergey13 (2003-09-24 11:18:00) [7]
Ну и не отключай. Создай поле дубликат ПК1. Потом ПК1=ПК, потом ПК=ПК1. Потом удали ПК1.
stud (2003-09-24 11:08:00) [8]
нет. похоже дело в ПК, вот как-бы его удалить
в ибэксперте не получается, не отключает индекс и не дает удалить ПК
Sergey13 (2003-09-24 11:07:00) [9]
Так не обязательно текстовые. Например integer на smallint не менял? И как эти типы описывается - "напрямую" для каждого поля или через домены?
stud (2003-09-24 11:01:00) [10]
копал,но текстовых полей в этой таблице нету. только time, smallint,integer и первичный ключ
Sergey13 (2003-09-24 10:49:00) [11]
>gbak: writing data for table BASE_RASP
>gbak: ERROR: message length error (encountered 38, expected 30)
ИМХО, тут надо копать. В таблице BASE_RASP.
stud (2003-09-24 10:39:00) [12]
вот последние данные))
gbak: writing data for table PERERYV
gbak: 2 records written
gbak: writing index RDB$PRIMARY28
gbak: writing data for table MKB_10
gbak: 0 records written
gbak: writing index RDB$PRIMARY6
gbak: writing data for table BASE_RASP
gbak: ERROR: message length error (encountered 38, expected 30)
gbak: ERROR: gds_$receive failed
gbak: Exiting before completion due to errors
Sergey13 (2003-09-24 10:34:00) [13]
Вот тут не подскажу. Черт его знает че там. Попробуй ее убить/ пересоздать. Или смотри все таблицы, которые там упоминаются.
ЗЫ:Кстати а таблицы уже бекапились по логу или еще нет. Какой там порядок не помню.
stud (2003-09-24 10:10:00) [14]
gbak: writing parameter SPEC for stored procedure
вот тут он и останавливается. с процедурой все в порядке, т.к. бэкап с ней проходил раньше и она не менялась
Sergey13 (2003-09-24 10:02:00) [15]
Дык скажи гбаку делать подробный вывод. В ИБЭксперте можно вроде (нет под рукой). Там будет писаться имя таблицы, на которой происходит ошибка.
stud (2003-09-24 09:47:00) [16]
да все бы ничего, только знать бы какое поле))) или хотя бы таблица....
Sergey13 (2003-09-24 09:42:00) [17]
А может и ломать ничего не надо. У меня были похожие проблемы. Получились из за того что менял типы данных через домены (длины, точность). Все меняется, но старые данные (которые были до замены), видимо хранятся в старом виде. Помогло помнится нечто вроде апдейта с поле=поле+"", или поле=поле*1. Можно попробовать через создание поля "двойника".
stud (2003-09-24 09:40:00) [18]
при проверке базы gfix -validate
выдается следующее сообщение
Summary of validation errors
Number of index page errors : 1
Number of database page errors : 6
stud (2003-09-24 09:22:00) [19]
вот именно это вчера нашед и изучал, сейчас начну ломать)))
Zacho (2003-09-23 19:18:00) [20]
2 stud :
Почитай http://www.ibase.ru/devinfo/db_repair.htm