2016-10-10 8 views
2

にPLSQL関数からの大規模なXMLデータを取るためにどのように各サイズは、ここでvarchar2(10)PLSQL PHPは:私はphp.I'veにPLSQL機能を使用してOracleデータベースからすべての従業員IDを取得したいPHP

で10000の従業員IDをarroundのここで

FUNCTION view_emp_list_by_office return clob IS 
ret xmltype; 
BEGIN     
SELECT xmlelement("employee_id_list",     
       XMLAGG(     
        xmlelement("employee", 
        xmlelement("emp_id", EMP_ID)     
        )ORDER BY EMP_NAME ASC 
      ) 
) as clob into ret 
FROM TABLE_EMPLOYEE_INFO; 

RETURN '<result><status >success</status>'||ret.getClobval()||'</result>'; 
EXCEPTION 
WHEN OTHERS THEN 
RETURN '<result><status>Error</status></result>'; 

END view_emp_list_by_office; 

PHPコードされています:

$stid = oci_parse($conn, " begin 
     :result := package1.view_emp_list_by_office; 
         end;");  
    oci_bind_by_name($stid, ':result',$ru, 247800); 
    $output = oci_execute($stid); 

私は、すべての従業員を取得しようとすると、xmlデータサイズはIDがhuge.Butない場合は、コードが正常に動作トン私のPLSQL関数のコードですそれはうまくいきません。メモリ問題のように見えます。これを解決する方法は?私はそれを行うためのコード変更が必要ですか?私を助けてください。

+1

あなたにはどんなエラーメッセージがありますか? 「巨大ではない」とはどういう意味ですか?あなたはそれを壊すように見えるサイズを決めましたか? – bassrek

答えて

1

私は過去に問題がありましたが、ストアドプロシージャを実行してファイルにエクスポートしました。同じケースではありませんが... あなたのmemory_limitを確認してください。私はそれがデフォルトで64メガバイトとなると思う。

関連する問題