conversion error from string " "

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
DastiX
Сообщения: 1
Зарегистрирован: 27 янв 2010, 03:47

conversion error from string " "

Сообщение DastiX » 27 янв 2010, 04:35

Доброго времени суток)

Совсем недавно начал изучение Firebird, по этому если что не так - не судите строго.
Собственно сабж.

Есть firebird 2.0 WI-V2.0.1.12855, работает на VMware 6.5, WinXP 32bit.
Через IBExpert созданы три таблицы: одна главная и две подчиненные.
К примеру главная ФИРМЫ и подчиненные ЛЮДИ и ТЕХНИКА.
Хочу соответственно, что бы одной строке в главной соответствовало несколько строк в подчиненной.
Т.е. в главной таблице ФИРМЫ есть поле ЛЮДИ, и поле ТЕХНИКА типа INTEGER;
Бегаем по фирмам -> отображаются только те люди и техника, которые относятся к этой фирме.
Так вот. Создаю в главной таблице два уникальных поля типа INTEGER, пытаюсь ввести данные - все ок.
В каждой подчиненной по одному полю для внешнего ключа.
Назначаю внешний ключ в таблице ЛЮДИ - все ок. Ввожу данные в поле ЛЮДИ в таблице ФИРМЫ - ок,
в IBExpert можно посмотреть через Master\Detail что определенной фирме соответствует определенный список людей.
И тут самое интересное, назначаю внешний ключ в таблице ТЕХНИКА, все прокатывает.
Но как только пытаюсь ввести данные в главной таблице, в поле ТЕХНИКА появляется ошибка
<<Overflow occurred durig data type conversion
conversion error from string " "
[00543BBF]>> хотя ввожу число.
Дальше интереснее. Удаляю из таблицы ТЕХНИКА внешний ключ(индекс) - ок.
Пытаюсь удалить ограничение на уникальность поля ТЕХНИКА в таблице ФИРМЫ, создается тразакция, все ок, нажимаю Commit,
и получаю deadlock. Хотя вроде все закрыто....
Пробую еще раз и получаю сообщение
<<This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use.
Changes will be rolled back...>>
После этого IBExpert зависает при закрытии, а при принудительном завершении соответственно отчет об ошибке.
Переоткрываю и удалю ограничение на уникальность...
В может быть тут дело не пойму. Откуда эта ошибка неизвестно...

Сколько уже написал, надеюсь кто-нибудь прочитает...заранее спасибо за ответы....

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: conversion error from string " "

Сообщение kdv » 27 янв 2010, 18:20

conversation - это общение. conversion - конверсия, конвертация. Исправил.

По сути - либо сообщение не то из-за неправильного firebird.msg (результат установки разных версий IB/ФБ на одном компе), либо действительно раньше было char/varchar, а потом поменяли на integer, или наоборот.

Если второе, то это обычно следствие модификации структуры таблиц, наполненных данными. Причем не просто модификации, а из IBExpert.
Рекомендую извлечь скрипт БД, создать из него базу по новой, причем обновить ФБ, а то 2.0.1 как то не очень, и перелить данные из старой покоцанной БД в новую.

Ответить