2
讀取CLOB列我有一個表在數據庫,其中一列(STATUS)的數據類型是CLOB.I需要讀取狀態如何在Oracle數據庫從Java
create table STATUS_TABLE
(
STATE_ID number(20,0),
STATUS clob
)
我想讀CLOB列如下
String getStatus = "SELECT STATUS FROM STATUS_TABLE WHERE STATE_ID="+id;
Query statusResults = session.createSQLQuery(getStatus);
List statusRes = statusResults.list();
if ((statusRes != null) && (statusRes.size() > 0)) {
oracle.sql.CLOB clobValue = (oracle.sql.CLOB) statusRes.get(0);
status = clobValue.getSubString(1, (int) clobValue.length());
log.info("Status->:" + status.toString());
}
而得到錯誤的
java.lang.ClassCastException: $Proxy194 cannot be cast to oracle.sql.CLOB
我怎樣才能讀取DB CLOB數據並將其轉換字符串?
你試圖存儲什麼數據?你爲什麼使用CLOB? – Ravi
我會認爲使用PreparedStatement - > resultSet然後使用https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getClob(int)會更好 –
也是你的表說'STATUS',但你的SQL說'SELECT STATUS_DESCRIPTION' –