2015-12-03 42 views
1

我怎樣才能串出CLOB類型。我沒有谷歌它,但轉換的Clob爲String

myClob.getSubString(0, (int) info.length())); 

是我得到的唯一的東西。控制檯說:

值java.sql.SQLException:在以 ru.tenet.es09.dao.CompanyDAOImpl oracle.sql.CLOB.getSubString(CLOB.java:278)調用無效參數(S)。獲取(CompanyDAOImpl.java:72) ru.tenet.es09.dao.CompanyDAOImpl.getList(CompanyDAOImpl.java:132)at ru.tenet.es09.dao.AddressDAOImpl.getList(AddressDAOImpl.java:59)at ru.tenet.es09.Test.main(Test.java:11)​​

它指向getSubString()方法。哪裏不對?

+0

[閱讀CLOB爲字符串最有效的解決方案和String在Java中CLOB?(可能的重複http://stackoverflow.com/questions/ 2169732 /最有效的解決方案,用於閱讀,CLOB到字符串和字符串到CLOB式-JAVA) – CubeJockey

回答

2

假設你使用標準的JDBC,一旦你有一個ResultSet對象,你應該可以調用ResultSet#getString("clob_field_name")來檢索你的CLOB數據。

+0

這將是一個轉換異常 – Tony

+0

如果你將它轉換爲oracle.sql.CLOB然後是,如果你做字符串clobData = resultSet.getString(「clob_field」),你會沒事的。 – PA001

0

本我的方式(對不起我的英語)

 res = ps.executeQuery(); 
     try { 
      while (res.next()) { 
       System.out.println(res.getClob(1));//confirm data 
       sRet = res.getString(1); 
      } 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } finally { 
      ps.close(); 
     }