今天在Oracle資料庫中尋找資料,碰到了一個表中有個字元類型為CHAR[2000],由於字元長,用String無法取出。經過google 百度之後發現可以用CLOB類型來取。具體方法跟用字串的方法差不多,只不過最後需要將CLOB類型轉換成字串類型。關鍵代碼如下:
CLOB fztdjqs = null;
PrintWriter fztdjqsOut=response.getWriter();
try {
s = myConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
r = s.executeQuery("SELECT * FROM TAB_FZTDJQS where xzcbm="+bianMa);
while (r.next()) {
fztdjqs=(CLOB) r.getClob("FZTD");
System.out.println(fztdjqs.toString());
}
} catch (SQLException e) {
e.printStackTrace();
}
public String ClobToString(CLOB clob) throws SQLException, IOException {
String reString = "";
Reader is = clob.getCharacterStream();// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 執行迴圈將字串全部取出付值給StringBuffer由StringBuffer轉成STRING
sb.append(s);
s = br.readLine();
}
reString = sb.toString();
return reString;
}
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12