如何使用java从Oracle中恢复CLOB值 [英] how to Retrive the CLOB value from Oracle using java

查看:115
本文介绍了如何使用java从Oracle中恢复CLOB值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆