每一种语言的处理方法不完全相同,在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; }
若是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
若是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
//这个例子程序是把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;
}
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
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