加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 与TBCDField和TfmtBCDfield以及oracle兼容性类型不匹

发布时间:2020-12-15 04:20:54 所属栏目:大数据 来源:网络整理
导读:我正在将一个大型应用程序从Delphi 6转换为Delphi 2009. 它最初是为使用Oracle 8i而构建的,但现在需要使用Oracle 11g.原始应用程序很高兴使用oracle 11g,如果我使用Delphi 6重建它,它将会这样做. 为了克服一些字符集/字符显示问题以及过去11年中开发的应用程
我正在将一个大型应用程序从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进行访问.

有任何想法吗?

解决方法

当我需要我的DBXpress应用程序同时使用Oracle 9和11时,我遇到了类似的问题.出于某种原因,DBXpress根据Oracle数据库版本以不同的方式识别某些NUMBER字段.我通过将数字字段转换为更大的数字字段并在我的所有查询中更改FMTBCD字段的BCD字段来解决这个问题,演员强制DBXpress将每个NUMBER识别为FMTBCD,因为BCD无法支持如此大的数字,也许它会也在研究ADO.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读