2013-06-27 516 views
0

我从Java客户端调用oracle中的存储过程。从java调用oracle存储过程

从Java传递约80个字符的字符串到程序参数中时出现问题。

虽然它适用于较小的字符串。

抛出的错误是“

numeric or value error: character string buffer too small"

这可能是什么原因?

+0

输入参数的类型是什么 – beny23

+0

Varun输入参数的数据类型是多少,参数字段的长度是多少 – user75ponic

+0

它的VARCHAR2类型我g在那里不应该有问题, – varun

回答

0

检查过程中的IN参数到要通过这80字符的字符串。貌似你试图分配它只能容纳一个较小的字符串参数

+0

它是一个VARCHAR2。 – varun

+1

您无法指定/限制参数的长度;你只能将类型声明为'VARCHAR2',试图设置像'VARCHAR2(80)'这样的长度不能编译。 (实际上你也可以使用'%TYPE'引用,但是这也会忽略长度并只使用数据类型)。 –

+0

由于我在搜索条件中使用参数,因此我无法使用%TYPE,此参数包含在搜索查询中使用的csv列表。 – varun