我正在将大型应用程序从 Delphi 6 转换为 Delphi 2009。
它最初是为使用 Oracle 8i 而构建的,但现在需要使用 Oracle 11g。原始应用程序非常愉快地使用 oracle 11g,如果我使用 Delphi 6 重新构建它,它将这样做。
为了克服过去 11 年开发的应用程序的一些字符集/字符显示问题和其他小烦恼,我决定在更高版本的 Delphi 中重建它(这也被推迟了几年,因此使用2009.) 这是为此目的而购买的。我现在已经击败了 550 多个关于这个、那个和另一个的编译器警告。
但是现在几乎我尝试针对我的测试 oracle 11g 数据库打开的每个表/数据集都报告“字段‘xxxxxx’的类型不匹配,期望 BCD 实际 FmtBCDField。
有没有办法在不打开所有 80 多个数据模块的情况下解决这个问题,以保证与客户端数据库安装的兼容性?我不介意全部更改它们,但我无法在没有大量混乱的情况下针对实时数据库对其进行测试,并且不想这样做只是为了在客户的站点上得到相反的错误!
这些几乎是 TClientDataSets 中连接到 ADO 查询的所有持久字段,但在(几乎)所有情况下都使用 FieldByName 进行访问。
有任何想法吗?