MicroFocus Cobol程序返回ORA-01438

MicroFocus Cobol程序返回ORA-01438,cobol,oracle12c,microfocus,ora-01438,Cobol,Oracle12c,Microfocus,Ora 01438,使用Micro Focus Cobol 5.1和Oracle 12c的任何人在执行返回ORA-01438(值大于此数字列允许的指定精度)的程序时有任何问题吗 Cobol列定义为PICS9(7)V9(2)和Oracle表列定义NUMBER(9,2)。服务器是SPARC Solaris 64位。大多数(如果不是所有的话)预编译器/编译器参数都设置为64位的默认值。Cobol程序在Oracle 11g环境中运行良好。我们确实增加了Oracle表列的大小,作业运行正常,但结果数据不正确。谢谢。当您增加列

使用Micro Focus Cobol 5.1和Oracle 12c的任何人在执行返回ORA-01438(值大于此数字列允许的指定精度)的程序时有任何问题吗


Cobol列定义为
PICS9(7)V9(2)
和Oracle表列定义
NUMBER(9,2)
。服务器是SPARC Solaris 64位。大多数(如果不是所有的话)预编译器/编译器参数都设置为64位的默认值。Cobol程序在Oracle 11g环境中运行良好。我们确实增加了Oracle表列的大小,作业运行正常,但结果数据不正确。谢谢。

当您增加列数时,是否可以为“不正确”结果提供一些源和结果示例?这会影响很多栏目吗?S9(7)V(2)是如何定义的?COMP-3/压缩十进制?某种类型的二进制文件?还是没有具体说明?您已更改为Oracle 12c,并且没有其他系统软件更改?预编译器是新版本吗?您是否检查了输出是否有任何异常?源值是一个零,插入到表列中,结果不正确的值最终为9.6或809.6或772109.6等。这些类似的值出现在多个不同程序的跟踪输出中。似乎以9.6结尾。这仅在少数程序中发生。S9(7)V(2)没有其他规格。只有软件更改是升级到Oracle 12c。MF Cobol是相同的软件和配置。谢谢。听起来像是Oracle的错误:-)我会尝试将源字段压缩为十进制和二进制,并将字段作为不同的长度,只是为了看看行为是否有所不同。我认为这是Micro Focus和Oracle的一个bug(有时供应商会就问题可能出在哪里打“网球”——如果他们都报告了,这会使问题更难解决)。当你增加列数时,你能提供一些“不正确”结果的源和结果示例吗?这会影响很多栏目吗?S9(7)V(2)是如何定义的?COMP-3/压缩十进制?某种类型的二进制文件?还是没有具体说明?您已更改为Oracle 12c,并且没有其他系统软件更改?预编译器是新版本吗?您是否检查了输出是否有任何异常?源值是一个零,插入到表列中,结果不正确的值最终为9.6或809.6或772109.6等。这些类似的值出现在多个不同程序的跟踪输出中。似乎以9.6结尾。这仅在少数程序中发生。S9(7)V(2)没有其他规格。只有软件更改是升级到Oracle 12c。MF Cobol是相同的软件和配置。谢谢。听起来像是Oracle的错误:-)我会尝试将源字段压缩为十进制和二进制,并将字段作为不同的长度,只是为了看看行为是否有所不同。我认为这是Micro Focus和Oracle的一个bug(有时供应商会就问题的可能所在打“网球”——如果他们都报告了,这会使问题更难解决)。