PLSQL PHP:如何将大型 xml 数据从 PLSQL 函数获取到 PHP

Posted

技术标签:

【中文标题】PLSQL PHP:如何将大型 xml 数据从 PLSQL 函数获取到 PHP【英文标题】:PLSQL PHP: How to take large xml data from PLSQL function to PHP 【发布时间】:2016-10-10 04:53:34 【问题描述】:

我想使用 PLSQL 函数从 Oracle 数据库中获取所有员工 ID 到 php。我有 10000 个员工 ID,每个大小为 varchar2(10)

这是我的PLSQL函数代码:

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 时,它不起作用。看起来像内存问题。如何解决这个问题?我需要修改代码吗?请帮帮我。

【问题讨论】:

您收到什么错误信息? “不大”是什么意思?您确定了似乎会破坏它的尺寸吗? 【参考方案1】:

我过去遇到了一个问题,但我执行了一个存储过程并将其导出到一个文件中。不是同一种情况,但是... 检查你的 memory_limit。我认为它默认带有 64mb

【讨论】:

以上是关于PLSQL PHP:如何将大型 xml 数据从 PLSQL 函数获取到 PHP的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 XML 节点中的记录在 PHP 中编辑大型 XML 文件

如何在不使用 PHP 加载整个内容的情况下附加到大型 XML(文件)

使用 PLSQL 将 XML 解析为数据库表

如何使用 PHP 将 Simple XML 解释为 HTML?

PLSQL:将 CLOB 转换为 XML

Oracle数据库,大型plsql代码管理