package com.zt.generator.data; 
 | 
  
 | 
import java.io.IOException; 
 | 
import java.io.Reader; 
 | 
import java.io.StringWriter; 
 | 
import java.sql.Blob; 
 | 
import java.sql.Clob; 
 | 
import java.sql.SQLException; 
 | 
  
 | 
public class LobUtil { 
 | 
  
 | 
    public static String clobToString(Clob clob) { 
 | 
        if (clob == null) { 
 | 
            return null; 
 | 
        } 
 | 
        try { 
 | 
            Reader r = clob.getCharacterStream(); 
 | 
            StringWriter sw = new StringWriter(); 
 | 
            char[] cs = new char[(int) clob.length()]; 
 | 
            try { 
 | 
                r.read(cs); 
 | 
                sw.write(cs); 
 | 
                return sw.toString(); 
 | 
            } catch (IOException e) { 
 | 
                e.printStackTrace(); 
 | 
            } 
 | 
        } catch (SQLException e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    public static byte[] blobToBytes(Blob blob) { 
 | 
        if (blob == null) { 
 | 
            return null; 
 | 
        } 
 | 
        try { 
 | 
            return blob.getBytes(1L, (int) blob.length()); 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    // public static void setClob(DBConn conn, PreparedStatement ps, int i, 
 | 
    // Object v) throws SQLException { 
 | 
    // if (conn.getDBType().equals(DBConnConfig.ORACLE)) { 
 | 
    // OracleConnection oc = (OracleConnection) conn.getPhysicalConnection(); 
 | 
    // CLOB clob = null; 
 | 
    // try { 
 | 
    // clob = CLOB.createTemporary(oc, true, 1);// 
 | 
    // Oracle9i中是1,10G中变成了10,但还是会将1自动转为10 
 | 
    // clob.open(1); 
 | 
    // Writer writer = clob.setCharacterStream(0L); 
 | 
    // writer.write(String.valueOf(v)); 
 | 
    // writer.close(); 
 | 
    // clob.close(); 
 | 
    // ps.setClob(i + 1, clob); 
 | 
    // } catch (Exception e) { 
 | 
    // try { 
 | 
    // if (clob != null) { 
 | 
    // CLOB.freeTemporary(clob); 
 | 
    // } 
 | 
    // } catch (SQLException e1) { 
 | 
    // e1.printStackTrace(); 
 | 
    // } 
 | 
    // e.printStackTrace(); 
 | 
    // } 
 | 
    // } else { 
 | 
    // ps.setObject(i + 1, v); 
 | 
    // } 
 | 
    // } 
 | 
} 
 |