最近遇到一個需求:從數據庫裏面取數據並生成.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