【发布时间】:2014-02-21 06:11:19
【问题描述】:
下面是我的过程
NOBL_TEC_TEST_PROC(v1 number,v2 out number)
我的模型函数
public function testProc()
{
$result = '';
$db = "orcl";
$conn = oci_connect("***", "****", $db);
$sql = 'begin NOBL_TEC_TEST_PROC(222, :seqno); end;';
$stmt = oci_parse($conn,$sql);
oci_bind_by_name($stmt, ':seqno', $result);
oci_execute($stmt);
return $result;
}
如果我给 IN 值 10 时,它会给出以下错误。
<b>Warning</b>: oci_execute(): ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 1 in....
我该如何解决这个问题?有什么帮助吗?谢谢
【问题讨论】:
-
您需要更改过程....您正在将参数之一分配给该过程中的局部变量(或过程调用的东西等)。局部变量没有正确的数据类型来接受您传递的内容...您将不得不更改它。
-
我应该如何更改程序?我是 php 开发人员所以我真的不知道..
-
如果您发布程序,那么有人将能够提供帮助...更改它可能会产生连锁反应,因此最好询问负责人。
标签: php oracle stored-procedures