Oracle PL/SQL:“;“字符串缓冲区太小”;特定环境的错误

Oracle PL/SQL:“;“字符串缓冲区太小”;特定环境的错误,oracle,plsql,procedure,Oracle,Plsql,Procedure,不可能有问题,在我的环境中重现 在Eclipse SQL Explorer上的my PC上运行PL/SQL过程的结果: ORA-06502: PL/SQL: numeric or value error: character string buffer too small 如果这个过程也在eclipsesqlexplorer上的otherpc上编译,那么一切都正常 注意:如果您问,为什么要eclipsesqlexplorer-它的“历史问题”,因为过程不是在oraclesqldeveloper

不可能有问题,在我的环境中重现

在Eclipse SQL Explorer上的
my PC上运行PL/SQL过程的结果:

ORA-06502: PL/SQL: numeric or value error: character string buffer too small
如果这个过程也在
eclipsesqlexplorer
上的otherpc上编译,那么一切都正常

注意:如果您问,为什么要
eclipsesqlexplorer
-它的“历史问题”,因为过程不是在oraclesqldeveloper下编译的

我的环境有什么问题


谢谢。

您的代码是否使用DBMS\u输出包?
也许你有一个小的。尝试将大小增加到允许的最大值(32767)。

您需要在客户端环境中查找显著差异。例如,他们是否有不同的NLS_LANG设置?如果在数据库中使用多字节字符或Unicode字符集,这可能很重要。

PL/SQL过程有一个优化级别。可能是您的一个环境正在“正常”模式下编译,而另一个环境正在“调试”模式下编译


在所有对象设置中检查该对象的设置

两种情况下的输入数据是否相同?此错误通常意味着您的代码试图将字符串分配给一个太小的变量。@StevieG绝对相同的过程及其输入参数以供运行。唯一的区别是,如果proc。从其他电脑编译,没有这样的错误。也许,一些SQL资源管理器设置?您在编译或运行该程序时是否收到错误?如果你能发布代码,那就很有用了..只运行时出错,编译没问题,过程大小超过1K行我很难办,然后。。该过程在数据库上运行,因此无论您的SQL explorer设置是什么都不重要。数据库是本地托管在您的计算机上吗?谢谢,现在我不再执行此任务,请记住这一点