2014-05-15 23 views
-1

我有以下Oracle过程调用存储过程:使用输出参数,该参数是引用游标通过Zend框架1

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-DB从Zend框架1得到一个客户数组,但我不能,那是我的尝试:

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库?

问候

回答

0

我写了这个answer到另外一个问题,也许它会帮助你。
这是为MySql,所以我没有测试,但我用你的pdo。