如何使用java从Oracle中恢复CLOB值 [英] how to Retrive the CLOB value from Oracle using java
问题描述
SELECT DESCRIPTION,DETAILED_DESCRIPTION,PRIORITY,RISK_LEVE FROM Table_Name
DETAILED_DESCRIPTION
列的值在 CLOB
下面是用于获取数据的代码:但是我在读取DETAILED_DESCRIPTION字段时收到错误错误:读取错误
Below is the code is used to fetch the data: But i am getting the error "Error: Read error" while reading the field "DETAILED_DESCRIPTION"
Statement statement;
ResultSet resultSet;
oracleCon.setAutoCommit(false);
statement = oracleCon.createStatement();
String chdet[] = new String[8];
String query="SELECT DESCRIPTION,DETAILED_DESCRIPTION,PRIORITY,RISK_LEVEL FROM Table_Name";
resultSet = statement.executeQuery(query);
ArrayList<String> record=new ArrayList<String>();
while (resultSet.next())
{
record.add(resultSet.getString("DESCRIPTION"));
record.add(resultSet.getString("DETAILED_DESCRIPTION"));
record.add(resultSet.getString("PRIORITY"));
record.add(resultSet.getString("RISK_LEVEL"));
}
if(record.size()>0)
{
chdet[0] = record.get(0);
chdet[1] = record.get(1);
chdet[2] = record.get(2);
chdet[3] = record.get(3);
break;
}
}
return chdet;
推荐答案
检索数据后,可以使用getClob( )返回你的Clob的方法。然后你需要打开Clob的流来读取数据(Mayb是char或二进制数据)。
After retrieving your data, you can use the getClob () method to return your Clob. Then you needs to open the Clob's stream to read the data (Mayb be char or binary data).
如果知道clob是一个普通的字符串,你也可以希望使用
If the clob in know to be a plain string, you maybe also wish to use
clob.getSubString(1,(int)clob.length());
所以试试这个
Clob clob = resultSet.getClob("DETAILED_DESCRIPTION")
record.add(clob.getSubString(1, (int) clob.length());
请参阅 http://www.java2s.com/Code/JavaAPI /java.sql/ResultSetgetClobintcolumnIndex.htm
这篇关于如何使用java从Oracle中恢复CLOB值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!