【问题标题】:Handling ORACLE's XMLTYPE data in PHP在 PHP 中处理 ORACLE 的 XMLTYPE 数据
【发布时间】:2013-05-17 09:27:30
【问题描述】:

我们正在实现一个在线界面来连接到 ORACLE DB 并允许用户在线进行查询。我们在 oracle 中遇到了 XMLTYPE 数据类型,并且遇到了困难。要从其中包含 XMLTYPE 的表中检索 DATA,普通的“select * from table_name”将不起作用,但我们需要使用 xmltype.getclobval(column_name) 调用该特定列。 如果我们处理来自后端的查询,这将是一个不错的选择,但在这里我们允许用户自己进行查询。在这种情况下,用户只需在该表上执行 select *,但我仍然需要能够获取数据并显示,无论它是否具有 XMLTYPE。有没有办法使用本机 PHP Oracle 驱动程序本身来做到这一点?或者我们是否需要编写一个插件来处理这个问题而不通知用户我们正在后端应用 xmltype.getclobval() 函数?

请在这方面帮助我。

谢谢, 拉利斯

【问题讨论】:

  • 我不熟悉 PHP,但也许 Schema VIEW 也是一种选择

标签: php oracle xmltype


【解决方案1】:

我不熟悉 PHP,但从 OCI 方面来看,您必须将 XMLTYPE 处理为名为“SYS.XMLTYPE”的自定义用户定义类型。如果您想将 if 用作真正的 XML,您还需要一个库 libxml.so。由于某些未知原因,这个不是 Oracle Instant 客户端的一部分。

尝试 grep 字符串“SYS.XMLTYPE”的 PHP 驱动程序源。

也许您可以简单地使用 CLOB 数据类型作为 XMLTYPE 列的占位符,Oracle 将为您执行数据转换。就像您对数字列使用 VARCHAR 占位符一样。

【讨论】:

  • 您好,感谢您的回复。让我检查并回复你
猜你喜欢
  • 1970-01-01
  • 2012-12-01
  • 1970-01-01
  • 2016-04-11
  • 2015-06-26
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多