JSP Oralcle CLOB 文件保存

  1. <%@ page import="java.io.*"%> 
  2. <%@ page import="oracle.sql.CLOB"%> 
  3. <%
  4. try
  5. {
  6.     Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  7.     int imgId=23;
  8.     String url="jdbc:oracle:thin:@localhost:1521:ORCL";
  9.     Connection conn=DriverManager.getConnection(url,"system","oracle");
  10.     Statement st = conn.createStatement();
  11.     st.executeQuery("insert into hr.psn values("+ imgId +",'wenzhixing',EMPTY_CLOB())");
  12.     ResultSet rs = st.executeQuery("select filestr from hr.psn where id="+ imgId +" for update");
  13.     conn.setAutoCommit(false); 
  14.     if (rs.next())
  15.     {
  16.          /* 取出此CLOB对象 */
  17.         oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("filestr");
  18.         /* 向CLOB对象中写入数据 */
  19.         Writer outStream = clob.getCharacterOutputStream();
  20.         // 这里用一个文件模拟输入流
  21.         FileReader in = new FileReader(new File("f://2.mht"));///本地的文件位置
  22.         char[] b = new char[clob.getBufferSize()];
  23.         int len = -1;
  24.         while ((len = in.read(b)) != -1)
  25.         {
  26.             outStream.write(b, 0, len);
  27.         }
  28.         in.close();
  29.         outStream.close();
  30.     }
  31.     conn.commit();
  32.     rs.close();
  33.     st.close();
  34.     conn.close();
  35. }
  36. catch (Exception e)
  37. {
  38.     e.printStackTrace();
  39. }
  40. %>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值