JAVA oracle.sql.OPAQUE转String

最近遇到一个需求:从数据库里面取数据并生成.xml格式的文件。这边的方法是经过 select xmlelement("",column_name) from table_name 取到一个xml格式的数据,而后在java中转成String再写到本地文件中(由于本人技术不高,不知道其余办法,因此就只能多绕一点路来实现目的)。java

在实现的过程当中遇到了一个问题。在JAVA中,获取到查询的值的类型是oracle.sql.OPAQUE,并不能直接转化成String类型。一开始发现了数据库中的to_clob()函数,因此将查询语句改为了 select to_clob(xmlelement("",column_name)) from table_name ,这是在java a中获取到的就是 java.sql.clob类型,这时再将java.sql.clob转化成String类型来达到目的。可是在这边有遇到一个问题,数据库中使用to_clob()会出现一个问题:ora-19011:字符缓冲区过小 。这样致使内容获取不到。因此只能把SQL语句上的to_clob()去掉。这时又去找oracle.sql.OPAQUE转化成String的方法,找了好久总算找到:sql

XMLType xt =  XMLType.createXML(oracle.sql.OPAQUE);数据库

String str = xt.getStringVal();oracle

 

其中XMLType引用的是oracle.xdb.XMLType函数

须要导入的jar包有:xml

  xdb.jar : 能够去ORACLE官网上进行下载element

        xmlparserv2.jar :这个能够百度下get

 

                                                                                       2017-12-29 16:18:57table

相关文章
相关标签/搜索