PL/SQL:“字符串缓冲区太小”特定环境的错误
无法解决在我的环境中重现的问题。
在 Eclipse SQL Explorer
上的我的 PC 上运行 PL/SQL 过程的结果:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
如果此过程在 Eclipse SQL Explorer 的其他 PC 上编译
另外,一切都好。
注意:如果您问,为什么Eclipse SQl Explorer
- 它是历史问题,因为程序不是在 Oracle Sql Developer 下编译的。
我的环境有什么问题?
谢谢。
Can't got the problem,that reproduced on my environment.
Result of running PL/SQL procedure on my PC on Eclipse SQL Explorer
:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
If this procedure compiled on other PC on Eclipse SQL Explorer
also,that all is OK.
note: If you ask,why Eclipse SQl Explorer
- its' historical issue,because procedure isn't compiled under Oracle Sql Developer.
What is problem in my environment?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要寻找客户端环境中的显着差异。例如,它们的 NLS_LANG 设置是否不同?如果您在数据库中使用多字节字符或 Unicode 字符集,这可能很重要。
You need to look for a significant difference in the client environments. For instance, do they have different settings for NLS_LANG? This could matter if you're using a multi-byte character or Unicode character set in your database.
PL/SQL 过程有一个优化级别。可能您的环境之一正在“正常”模式下编译,而另一个环境正在“调试”模式下编译。
检查 ALL_PLSQL_OBJECT_SETTINGS 中该对象的设置
There's an optimization level for PL/SQL procedures. Could be one of your environments is compiling in 'normal' mode and the other in 'debug' mode.
Check the settings for that object in ALL_PLSQL_OBJECT_SETTINGS
您的代码是否使用 DBMS_OUTPUT 包?
也许您对 DBMS_OUTPUT 有一个小的 限制。尝试将大小增加到允许的最大值 (32767)。
Does your code use the DBMS_OUTPUT package?
Maybe you have a small limit on DBMS_OUTPUT. Try and increase the size to the maximum allowed (32767).