操作时需根据情况区别对待:
insert :先插入空字段,在利用编程语言自身的大对象操作/流操作 对这个字段单独处理
update:利用编程语言自身的大对象操作/流操作 对这个字段单独处理

解决方案 »

  1.   

    pb有函数  selectblob取得这些值
      

  2.   

    每一种语言的处理方法不完全相同,在asp中可以这样处理long和blob
    //这个例子程序是把blob中的内容还原成一个gif文件
     SQL = "select * from tablename  where  id_field  =43543"
          Set oRs = oConn.Execute(SQL)
      
      if oRs.eof then
    stop
    exit function
      end if   PicSize = oRs(pic_field).ActualSize
          Pic = oRs(pic_field).GetChunk(PicSize)//*****这里是关键部分***********     ' Response.BinaryWrite Pic
    'wwj test'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      pic_lx = cstr(oRs("LX"))
      picFileName = cstr(photoid) + "." + trim(cstr(pic_lx))
          set objStream = Server.CreateObject("ADODB.Stream")
      objStream.Open
      objStream.Type = 1
      objStream.Write pic
      objStream.SaveToFile Server.MapPath("temp\tmp_pic\" + picFileName)
    '   objStream.SaveToFile "d:\aaaaaaa." + pic_lx ',adSaveCreateOverWrite
      objStream.close
      set objStream = Nothing
    在java中可以这样处理lob
    try {
               /* 插入一个空的CLOB对象 */
               stmt.executeUpdate("INSERT INTO TEST_CLOB VALUES ('111', EMPTY_CLOB())");
               /* 查询此CLOB对象并锁定 */
               ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE");
               while (rs.next()) {
                   /* 取出此CLOB对象 */
                   oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");
                   /* 向CLOB对象中写入数据 */
                   BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
                   BufferedReader in = new BufferedReader(new FileReader(infile));
                   int c;
                   while ((c=in.read())!=-1) {
                       out.write(c);
                   }
                   in.close();
                   out.close();
               }
               /* 正式提交 */
               conn.commit();
           } catch (Exception ex) {
               /* 出错回滚 */
               conn.rollback();
               throw ex;
           }
      

  3.   

    若是long raw可以使用它函数。
    UTL_RAW.CAST_TO_VARCHAR2 (
       r IN RAW) 
      RETURN VARCHAR2;http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a76936/utl_raw2.htm
      

  4.   

    若是long raw可以使用它函数。
    UTL_RAW.CAST_TO_VARCHAR2 (
       r IN RAW) 
      RETURN VARCHAR2;http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a76936/utl_raw2.htm