Страница 1 из 1
Перевод приложения под Oracle на Firebird
Добавлено: 02 июн 2006, 09:44
elbug
Есть приложение написаное на ADO под Oracle. Необходимо переложить под Firebird.
Проблема заключается в седующем: целочисленные поля для Oracle определяются как TBCDField, а в Firebird, как TIntegerField - появляется ошибка о несовпадении типов. Подскажите, пожалуйста, возможно ли приведение полей таблиц к какому-то общему типу? Или какие-нибудь пути решения этого
Добавлено: 02 июн 2006, 10:53
Dimitry Sibiryakov
Неужели используются статические определения полей?..
Лучше всего состряпать какой-нибудь data abstraction level. Заодно получишь программу способную работать с обеими серверами.
Добавлено: 02 июн 2006, 11:11
elbug
использовать условную компиляцию?
Re: Перевод приложения под Oracle на Firebird
Добавлено: 02 июн 2006, 12:01
eugeney
elbug писал(а):Есть приложение написаное на ADO под Oracle. Необходимо переложить под Firebird.
Проблема заключается в седующем: целочисленные поля для Oracle определяются как TBCDField, а в Firebird, как TIntegerField - появляется ошибка о несовпадении типов. Подскажите, пожалуйста, возможно ли приведение полей таблиц к какому-то общему типу? Или какие-нибудь пути решения этого
Ты в базе FB определяй поля как numeric(18,0), тогда они будут TBCDField. Это фича оракла приводить все NUMBER.
Добавлено: 02 июн 2006, 12:22
elbug
У меня Firebird 1.5.
Пробовал заменять NUMERIC разной разрядности и точности, но
в компонентах тип получается: TSmallIntegerField или TLargeIntegerField для ключевых полей и TFloatField для неключевых полей
Добавлено: 05 июн 2006, 15:16
eugeney
elbug писал(а):У меня Firebird 1.5.
Пробовал заменять NUMERIC разной разрядности и точности, но
в компонентах тип получается: TSmallIntegerField или TLargeIntegerField для ключевых полей и TFloatField для неключевых полей
Какой компонентой доступа пользуешся?