问题标签 [xmltype]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 在使用 XML Schema Collection 中的 XML 列创建表时使用 CONTENT 关键字
在创建具有 XML 类型列的表时,我指的是复杂的XML Schema Collection。当我指定XML Schema时,我可以选择提及CONTENT或DOCUMENT关键字。后者将确保 XML 数据作为文档存储在单个列中。
根据视频教程,CONTENT将 XML 数据存储在片段中。
除了上述声明之外,我在其他任何地方都找不到关于CONTENT关键字的使用以及它对模式和数据的影响的参考。
我想知道片段是如何创建和管理的,是否以及如何单独查询它们。此外,片段是如何相关的。接下来,当我修改 XML Schema Collection 时,会有什么影响。
xml - Oracle 中的 XSL 转换使用 XMLTYPE.TRANSFORM 返回一个片段,需要文档
这应该是一个简单的...
在 Oracle 中,我使用 XMLTYPE.TRANSFORM(myxml, myxsl) 来执行转换。
返回的 XMLTYPE 是一个片段(即没有 XML 文档声明)。我要求输出是一个文件(即带有<?XML version="1.0" ?>
声明)。
我的 trasform 使用独立工具可以正常工作。
任何帮助,将不胜感激..
xquery - 使用带有 XMLTable 的 ora:view 以 XML 形式查询关系表
我有一个名为 DOCTYPES 的 Oracle 关系表,其中包含 ID、DOCTYPE、SUBTYPE 列。
当我在 Oracle SQL Developer 中运行以下语句时
我按预期返回标签之间的结果。但是当我运行以下语句时,我得到一个错误:
LPX-00801:“=”处的 XQuery 语法错误。我不明白为什么第二个语句不起作用。
非常感谢您提前提供的帮助。
sql - 使用 xsl 和 DB 查询进行 XML 转换
我正在使用 Java 使用 Transformer 类转换 xml 文件。我将样式表 (xls) 文件与输入 xml 文件一起传递给转换器,这给了我一个转换后的输出 xml 文件。
同时我还需要查询数据库并将一些额外的数据从数据库中插入到 XML 文件中,因此我使用 JDBC 和 xQuery 连接到 Oracle 数据库并查询关系表。在 ResultSet 中,我得到 XML 格式的 ROWS。
我的计划是将这些行作为参数传递给 Java Transformer,并在转换过程中将此数据插入适当的位置。该参数将包含几行,并且 O 需要在要插入的转换期间选择特定行。这行得通吗?
我尝试将 ResultSet 转换为 XMLType 但失败了。我可以将 ResultSet 转换为另一种对象类型并将其用作 Transformer 的参数吗?
我希望这是有道理的。非常感谢您提前回答!
oracle - Oracle:如何创建从 XMLType 中提取数据的快速刷新物化视图?
我有一个xml_documents
包含两列的表:一个document_id
列(主键)和一个xml
包含一些 XML 数据的列,这是一个无模式的XMLType
. 我可以只用 with 创建一个物化视图document_id
:
这工作正常,但不是很有用。如您所料,我希望物化视图从 XML 中提取数据,为此我使用extractValue()
. 我正在尝试以下操作:
这失败了:
我应该如何在从 XML 中提取值的提交物化视图上创建快速刷新?
java - 如何在 H2 数据库上管理 XmlType
我使用 H2 数据库进行单元测试。在我的应用程序中,我有一个名为FooXml
定义的实体对象:
因此,为了从数据库中读取/写入 XML 内容,我创建了自己的 XMLType my.app.common.HibernateXMLType
,它实现了org.hibernate.usertype.UserType
. 方法nullSafeSet
和nullSafeGet
在那里定义。
现在,我想为我的测试使用 H2 内存数据库,并且一些测试正在使用这个FooXml
类。由于 H2 不支持 Oracle XmlType
,我必须自定义我的my.app.common.HibernateXMLType
. 例如,我添加了该部分:
我对这种方法有几个担忧:
- 我在应用程序的生产代码中添加了与测试目的直接相关的代码(即不在测试代码中);
- 由于此类依赖于
org.h2.jdbc.JdbcConnection
,因此我必须在我的 WAR 包中添加 h2-database 依赖项。
问题:
- 这是解决我的问题的最佳方法,还是有更好的方法?
- 有没有办法告诉 Hibernate 使用另一种类型(
my.app.common.HibernateXMLTypeForH2
而不是my.app.common.HibernateXMLType
)进行测试?
ps:在H2数据库中创建我的表的脚本如下:
技术细节:H2 Database v1.3.153、JUnit 4.8.1、Java 1.6、Hibernate 3.2.2、Oracle 10g 用于非测试环境。
oracle - 使用 Hibernate 将 XML 文档插入具有 XMLType 列的表时出现“ORA-31011:XML 解析失败”
我想使用已注册的 XML 模式文件将 XML 数据存储在 Oracle XMLType 列中。XML 文件和 XSD 架构都是有效的,并且 XML 符合该架构。为了让 Hibernate 使用 XMLType,我使用了 Hibernate 映射 Document-XMLType,它可以在这里找到:
http://solecjj.blogspot.com/2011/02/hibernate-with-oracle-xmltype.html
我的 Hibernate 映射 XML 如下所示:
这是相应的 POJO 类:
文档对象在控制器类中创建,并作为其 POJO 对象的属性传递给 DAO 对象:
DAO 类和接口非常简单:
处理控制器类中的方法 onSubmit() 时,我收到以下错误消息:
休眠:插入 JPERGLER.SCENARIO_TABLE_1 (SCENARIO_XML, SCENARIO_ID) 值(?,?)
严重:Servlet 调度程序的 Servlet.service() 抛出异常 org.springframework.dao.CleanupFailureDataAccessException:关闭前无法刷新会话:无法执行 JDBC 批量更新;嵌套异常是 org.hibernate.exception.GenericJDBCException:无法执行 JDBC 批量更新
...
原因:org.hibernate.exception.GenericJDBCException:无法在 org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) 在 org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) 执行 JDBC 批量更新) 在 org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
...
原因:java.sql.BatchUpdateException:ORA-31011:XML 解析失败
在 oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:566) 在 oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9365) 在 oracle.jdbc.driver.OracleStatementWrapper.executeBatch (OracleStatementWrapper.java:210) ) 在 org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) 在 org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
看起来创建的 Document 对象填充了正确的数据,因此错误似乎发生在 Hibernate 映射端。我开始感到绝望,任何帮助将不胜感激。
这是我要插入的示例 XML 文件:
xml - 使用 Oracle 11g BI Publisher 创建 XML 数据的数据模型
我正在运行 Oracle BI Publisher 11g (11.1.1.3.0),并且正在尝试访问存储到数据库表中的 XML 数据。不幸的是,我遇到了几个问题,目前我很困惑。
我有一张桌子:
填充 XML 数据:
我可以用 sqlplus 查询它:
对我来说,到目前为止一切看起来都很好,但是当我尝试在 BI Publisher 中创建数据模型时,我遇到了几个问题。
根据 Oracle 文档Using Data Stored as a Character Large Object (CLOB) in a Data Model我应该能够在数据建模器中将 data1 列 CLOB 类型更改为 XML 类型。在我的安装中,我无法做到这一点,因为我从未提示过文档中描述的下拉菜单。为什么这个选项对我不可用?是表创建方式错误,还是数据插入方式错误,或者 BI Publisher 或 Oracle 数据库安装或配置方式错误?还是椅子和键盘之间的问题?但是,当我运行 XML 生成时,data1 的值(正确)显示为 CLOB:
但是列 data2(即 XMLTYPE 的类型)根本不被识别为 XML,但 BI Publisher 显示它是一个字符串,并在生成 XML 时返回 null(见上文)。
因为 BI Publisher 根本无法识别 XMLTYPE,所以我尝试了一种解决方法。在 BI Publisher 查询生成器中:
按预期工作:
但令人惊讶的是(对我来说)这失败了:
Query Builder 认为没问题,但是 XML 生成失败:
为什么 xmlcast + xmlquery 有效但 xmltable 无效?BI Publisher 不喜欢虚拟表吗?
oracle - 通过 DBLink 移动 XML
我正在尝试通过 dblink 移动一些数据,其中一列是 XMLType 列。代码如下所示:
Oracle 返回以下错误:
对 ORA-22804 的一些研究表明,由于 XMLType 列,我可能会收到此错误,但我不确定如何解决此问题。
(甲骨文 10g)
oracle - Oracle:如何对 XMLType 进行全文搜索?
我有一个将 XML 存储在 Oracle 表中的应用程序XMLType
。我想对该数据进行全文搜索。Oracle 文档在Full-Text Search Over XML Data中建议使用contains
SQL 函数,该函数需要使用索引对数据进行context
索引。问题是context
索引似乎是异步的,这不适合我需要能够在添加数据后立即搜索数据的用例。
我可以使该索引以某种方式同步吗?如果不是,我应该使用什么其他技术在 上进行全文搜索XMLType
?