大規模なアプリケーションを Delphi 6 から Delphi 2009 に変換しています。
元々は Oracle 8i を使用するために構築されましたが、現在は Oracle 11g を使用する必要があります。元のアプリケーションは oracle 11g を非常にうまく使用しており、Delphi 6 を使用して再構築すればそうなるでしょう。
過去11年間に開発されたアプリケーションの文字セット/文字表示の問題やその他の小さな煩わしさを克服するために、Delphiの新しいバージョンで再構築することにしました(これも数年間遅れているため、 2009.)目的で購入しました。私は今、あれこれについての 550 以上のコンパイラ警告を打ち破りました。
しかし、現在、テスト oracle 11g データベースに対して開こうとするほぼすべてのテーブル/データセットで、「フィールド 'xxxxxx' のタイプが一致しません。BCD 実際の FmtBCDField が必要です。
クライアントデータベースのインストールとの互換性を保証する80以上のデータモジュールをすべて開かずにこれを回避する方法はありますか? それらをすべて変更してもかまいませんが、多くのことをいじらずにライブデータベースに対してテストすることはできず、クライアントのサイトで反対のエラーを取得するためだけにテストしたくありません!
これらは、ADO クエリに接続された TClientDataSets 内のほぼすべての永続フィールドですが、(これもほぼ) すべてのケースで FieldByName を使用してアクセスされます。
何か案は?