Я конвертирую большое приложение из 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 в (снова почти )во всех случаях.
Любые идеи?