关于php 调用oracle存储过程。must be declared ORA-06550:
ORA-06550: line 1, column 7: PLS-00201: identifier 'SMEDBS.SP_WEB_GET_PREPAID_BAL' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored in D:\PHPSite\htdocs\test.php on line 57
php调用oracle存储过程报上面的错。oracle服务器是客户的机器,我没有任何权限。客户只给了我几个存储过程,但调用不成功。报这个错的原因是什么呢?存储过程没有声明?参数类型不对?
php代码:
$v_cust_id = 1;
$o_bal = "";
$sql_sp = "BEGIN Smedbs.sp_web_get_prepaid_bal(:v_cust_id,:o_bal); END;";
//Parse
$stmt = OCIParse($conn, $sql_sp);
OCIBindByName($stmt, ":v_cust_id",$v_cust_id,-1);
OCIBindByName($stmt, ":o_bal",$o_bal,-1);
OCIExecute($stmt);
echo $o_bal;
php调用oracle存储过程报上面的错。oracle服务器是客户的机器,我没有任何权限。客户只给了我几个存储过程,但调用不成功。报这个错的原因是什么呢?存储过程没有声明?参数类型不对?
php代码:
$v_cust_id = 1;
$o_bal = "";
$sql_sp = "BEGIN Smedbs.sp_web_get_prepaid_bal(:v_cust_id,:o_bal); END;";
//Parse
$stmt = OCIParse($conn, $sql_sp);
OCIBindByName($stmt, ":v_cust_id",$v_cust_id,-1);
OCIBindByName($stmt, ":o_bal",$o_bal,-1);
OCIExecute($stmt);
echo $o_bal;
作者: bscss2 发布时间: 2011-06-07
会是因为这个存储过程使用了临时表,而oracle用户没有临时表的权限或临时表空间到达上限造成的吗?
作者: bscss2 发布时间: 2011-06-07
问题解决了,是oracle用户权限的原因。
作者: bscss2 发布时间: 2011-06-07