java - CLOB 到字符串转换 + java 1.8

标签 java

下面的程序总是给出异常

"java.sql.SQLRecoverableException: Closed Connection" in this line of " final Reader reader = clb.getCharacterStream();"

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Clob;
import java.sql.SQLException;

public class ClobStringConversion {

    public static String clobStringConversion(Clob clb) throws IOException, SQLException
    {
        if (clb == null)
              return  "";

               StringBuffer sb = new StringBuffer();
               String strng;

               try{
                   final Reader reader = clb.getCharacterStream();
                   final BufferedReader br     = new BufferedReader(reader);

                   int b;
                   while(-1 != (b = br.read()))
                   {
                       sb.append((char)b);
                   }
                   br.close();
               }

               catch (SQLException e)
               {
                   //log.error("SQL. Could not convert CLOB to string",e);
                   return e.toString();
               }
               catch (IOException e)
               {
                   //log.error("IO. Could not convert CLOB to string",e);
                   return e.toString();
               }
               return sb.toString();
    }     

}

最佳答案

您可能在调用clobStringConversion()之前关闭连接。尝试在读取 Clob 后关闭连接。

关于java - CLOB 到字符串转换 + java 1.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44335742/

相关文章:

java - 如果#在文件夹名称中,则产品 .exe 不会启动

java - 一元运算的优先级

java - Android编程——制作URI获取音频位置

java - 哪个 Java 线程负责 PostgreSQL 数据库进程?

java - facebook-java-api是否支持应用程序请求

java - iPhone 和 Android 网络

Java 初学者指南 : FindFac & Nested Loops

java - 无法从 java xml 解析器中的当前节点获取 NodeList

Java ArrayList : create a copy of array and use seperate from old, 但不创建新对象

java - 删除字符串中的 ASCII 字符