Oracle XMLTYPE列查询报错java.sql.SQLException: Invalid column type
Oracle XMLTYPE列在Kotlin代码中查询报错:Invalid column type
问题场景
我使用Oracle数据库,其中某列类型为XMLTYPE。在控制台执行以下查询语句时,能正常返回该列的XML内容:
SELECT DATA_RECEIVED FROM schema.taxCard WHERE FNR = (?) AND result = 'taxCardOK'
但在Kotlin代码中执行该查询时,抛出以下错误:
java.sql.SQLException: Invalid column type at oracle.jdbc.driver.NamedTypeAccessor.getSQLXML(NamedTypeAccessor.java:438) at oracle.jdbc.driver.OracleResultSetImpl.getSQLXML(OracleResultSetImpl.java:1251) at com.zaxxer.hikari.pool.HikariProxyResultSet.getSQLXML(HikariProxyResultSet.java)
我的Kotlin实现代码
fun Connection.hentSkattekortPaFnr( fnr: String ): String { val statement = prepareStatement( """ SELECT DATA_RECEIVED FROM schema.taxCard WHERE FNR = (?) AND result = 'taxCardOK' """.trimIndent() ).apply { setString(1, fnr) } val resultSet = statement.executeQuery() val xml = resultSet.asSequence { resultSet.getSQLXML(1) }.first() return xml.string } fun <T> ResultSet.asSequence(extract: () -> T ) : Sequence<T> = generateSequence{ if (this.next()) extract() else null }
疑问
请问我哪里操作出错了?
内容的提问来源于stack exchange,提问作者user16269092
相关产品推荐
相关产品推荐

