Spring java.sql.SQLException:java和sql对象类型不一致:SYS.XMLTYPE
尝试使用SpringJDBC从XMLTYPE列读取数据 声明Spring java.sql.SQLException:java和sql对象类型不一致:SYS.XMLTYPE,spring,oracle,jdbc,spring-data,xmltype,Spring,Oracle,Jdbc,Spring Data,Xmltype,尝试使用SpringJDBC从XMLTYPE列读取数据 声明 @Autowired OracleXmlHandler sqlXmlHandler 对象读取为字符串 sqlXmlHandler.getXmlAsString(结果集,“xml\u列”) 获取以下异常: 原因:java.sql.SQLException:java和sql对象类型不一致:SYS.XMLTYPE 在oracle.sql.OPAQUE.toClass(OPAQUE.java:395)~[ojdbc6-11.2.0.4.ja
@Autowired
OracleXmlHandler sqlXmlHandler代码>
对象读取为字符串
sqlXmlHandler.getXmlAsString(结果集,“xml\u列”)
获取以下异常:
原因:java.sql.SQLException:java和sql对象类型不一致:SYS.XMLTYPE
在oracle.sql.OPAQUE.toClass(OPAQUE.java:395)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在oracle.sql.OPAQUE.toJdbc(OPAQUE.java:333)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:193)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:123)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java:1108)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在oracle.jdbc.driver.OracleResultSet.getObject(OracleResultSet.java:462)~[ojdbc6-11.2.0.4.jar:11.2.0.4.0]
在org.jboss.jca.adapters.jdbc.WrappedResultSet.getObject(WrappedResultSet.java:1199)~[?:?]
xml具有xdb6、xmlparserv2、SpringDataOracle和SpringOXM所需的条目
在没有SpringJDBC的情况下也尝试了其他替代方案
任何见解都会非常有用。您的查询是什么样的?您还可以向我们展示表规范吗?getJdbcTemplate().query(“从xmltable中选择xml_列,其中id=?”,args,newresultsetextractor(){}
遵循指南:如果您正在学习该教程,则列名必须是xml\u text而不是xml\u column。我相信列名可以是任何选择项。列名需要与表中列的名称匹配。因此,您需要查看xmltable的表定义,并在select查询中匹配该定义。除非从表中的规范中更改了它,您需要“从xmltable中选择xml_文本,其中id=?”。您可以使用“从xmltable中选择xml_文本作为xml_列”来别名该列,但仍然需要按其名称引用该列。