使用输出参数调用存储过程,该参数由zend framework返回游标1


calling stored procedure using output parameter which is ref cursor by zend framework 1

我有以下oracle程序:

TYPE VarRecCur IS RECORD (
     CustomerId     Customer.CustomerId%TYPE,
     Name           Customer.Name%TYPE
     );
TYPE VarCursor_CUSTOMER IS REF CURSOR RETURN VarRecCur;
PROCEDURE PROC_Customer(pCustomerId IN VARCHAR2,RECOUTPUT IN OUT VARCURSOR_CUSTOMER)
IS
BEGIN
   OPEN RECOUTPUT FOR
   SELECT CustomerId, Name FROM Customer
   WHERE CustomerId =  pCustomerId
END PROC_Customer;

现在我试图从zend框架1使用zend-db获得一个客户数组,但我不能,那是我的尝试:

require_once 'Zend/Db/Statement/Oracle.php';
$db = Zend_Db::factory ( 'pdo_oci', array ('dbname' => DB_SERVER,'username' => 'user','password' => 'pass') );
$stmt = new Zend_Db_Statement_Oracle($db, "begin PROC_Customer('1',:cursor); end;");
$cursor = new Zend_Db_Cursor_Oracle($db);
$stmt->bindCursor('cursor', $cursor);
$stmt->execute();
var_dump($cursor);

我让它工作,我不得不添加更多的新文件到我的zend库,我的问题是有另一种方法来调用存储过程使用输出参数是zend框架1库ref游标?

我写这个答案是为了回答另一个问题,也许它会对你有所帮助。
这是MySql,所以我没有测试,但我使用pdo像你。