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

相關文章
相關標籤/搜索