java读取oracle中Clob和Blob

//读取clob字段

public static String readCLOB() {

   String sql = "select nr from table1 where id='1'";

   String content = "";

    try {

      PreparedStatement ps1 = connection.prepareStatement(sql);

      ResultSet rs1 = ps1.executeQuery();

      while (rs1.next()) {

            oracle.sql.CLOB clob = (oracle.sql.CLOB) rs1.getClob("1");

            BufferedReader in = new BufferedReader(clob.getCharacterStream());

            StringWriter out = new StringWriter();

           int c;

            while ((c = in.read()) != -1) {

                       out.write(c);

            } 

          content = out.toString();// CLOB内容

     }

  } catch (Exception e) {

      e.printStackTrace();

return content;

}


//读取blob字段

public static String readBLOB() {  

   String sql = "select nr from table1 where id='1'";

   String content = "";

    try {

      PreparedStatement ps1 = connection.prepareStatement(sql);

      ResultSet rs1 = ps1.executeQuery();

      while (rs1.next()) {

        oracle.sql.BLOB blob = (oracle.sql.BLOB) rs1.getBlob("1");  

        OutputStream out = blob.getBinaryOutputStream(); 

        byte[] b = new byte[(int)blob.length];  

          content = out.write(b);  

        out.flush();

        out.close();

     }

  } catch (Exception e) {

      e.printStackTrace();

}

return content;

}

               

你可能感兴趣的:(java,oracle,clob,blob)