Проблема с несоответствием типов с TBCDField и TfmtBCDfield и совместимостью с оракулом

Я конвертирую большое приложение из Delphi 6 в Delphi 2009.

Первоначально он был создан для использования Oracle 8i, но теперь его необходимо использовать для Oracle 11g. Исходное приложение вполне успешно использует oracle 11g и будет использовать его, если я пересоберу его с помощью Delphi 6.

Чтобы избавиться от некоторых проблем с набором символов/отображением символов и других мелких неприятностей с приложением, которые разрабатывались в течение последних 11 лет, я решил пересобрать его в более позднюю версию Delphi (, которая также была отложена на пару лет. следовательно, используется 2009 г. ), который был куплен для этой цели. Теперь я победил 550+ предупреждений компилятора об этом, том и другом.

Но теперь почти каждая таблица/набор данных, которые я пытаюсь открыть в своей тестовой базе данных oracle 11g, сообщает: «Несоответствие типов для поля 'xxxxxx' Ожидается фактическое значение BCD FmtBCDField.

Есть ли способ обойти это без открытия всех 80+ модулей данных, которые гарантируют совместимость с установкой клиентской базы данных? Я не против изменить их все, но я не могу проверить это на реальной базе данных без большого количества возни, и не хочу делать это только для того, чтобы получить противоположную ошибку на сайте клиента!

Это почти все постоянные поля в TClientDataSet, связанные с запросами ADO, но доступ к ним осуществляется с помощью FieldByName в (снова почти )во всех случаях.

Любые идеи?

7
задан Despatcher 8 April 2012 в 19:32
поделиться