怎么没人回了,是不是问题太简单了?
偶是新手上路,sigh!

解决方案 »

  1.   

    oracle的lob比较特殊,要用特殊的方式来
    比如
               /* 插入一个空的BLOB对象 */
               stmt.executeUpdate("INSERT INTO TEST_BLOB VALUES ('222', EMPTY_BLOB())");
               /* 查询此BLOB对象并锁定 */
               ResultSet rs = stmt.executeQuery("SELECT BLOBCOL FROM TEST_BLOB WHERE ID='222' FOR UPDATE");
               while (rs.next()) {
                   /* 取出此BLOB对象 */
                   oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("BLOBCOL");
                   /* 向BLOB对象中写入数据 */
                   BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream());
                   BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile));
                   int c;
                   while ((c=in.read())!=-1) {
                       out.write(c);
                   }
                   in.close();
                   out.close();
               }
               /* 正式提交 */
               conn.commit();
      

  2.   

    littlecong(虫子) 你好,我按照你的方法做了后,发现
    oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("BLOBCOL");
    有问题,再看原来oracle的sql下的BLOB。java文件没了,考过来后再用jb编译后又没了,所以这行语句就一直有问题!!!
    为什么文件会不见了?
      

  3.   

    problem resolved,thanks a lot