| 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); | 
|     // } | 
|     // } | 
| } |