返回列表 回复 发帖

OM遇到怪现象

前段时间在搭建系统中做销售订单,出了一个奇怪的现象,虽然解决了,但是我觉得应该和大家分享一下,
在中文环境下,就会报错
报的错如下:

当时感觉第一个反应就是系统的配置有问题,遍查系统的配置,也没有发现啥问题,最后在抱着试试的心理,
在英文环境试了一下,发现没有任何的问题;
那个汗ing啊,一时也没有找到合适的答案
后来发现R12也出现了一样的问题
不得不重视起这个问题了,终于在metalink上找到了解决方案
1. In TEST env , modify $FND_TOP/patch/115/sql/AFNLMSGB.pls
2.Modified l_char_after variable declaration from VARCHAR2(1) to NVARCHAR2(1).
3. run AFNLMSGB.pls in SQLPLUS
修改之后果然没有问题了

关于varchar2和Nvarchar的区别:
VARCHAR2(size),可变长度的字符串,其最大长度为 size 个字节。size 的最大值是 4000,而最小值是 1。您必须指定一个 VARCHAR2 的 size。

NVARCHAR2(size),可变长度的字符串,依据所选的国家字符集,其最大长度为 size 个字符或字节。size 的最大值取决于存储每个字符所需要的字节数,其上限为 4000 个字节。您必须为 NVARCHAR2 指定一个 size。


相同点:都是可变长度字符串(char类型是不变长度),都必须指定大小
不同点:VARCHAR2存放的英文字符只占一个字节,而nvarchar2依据所选的字符集,大多为两个
自此问题有了最终的解决。
oracle的说法是只有到了R12.5才有根本的解决

通过这个问题我总结一下:
1.同样是11.5.10.2的版本也会存在一定的差异,因为在我实施的11.5.10.2的系统中没有发现这个问题,而在这个系统中出现了这个问题
2.11.5.10.2好多的family patch和12i是一样的,是有共性的
附件: 您所在的用户组无法下载或查看附件
谢谢分享,有时中文版和英文版就是不一样呀
呵呵,谢谢分享。学习了
返回列表