求助!! java 存储大字段BLOB 问题 本帖最后由 zzj_CS 于 2009-10-28 17:10:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 # (2)JNDI方式 # //通过JNDI获得数据库连接 # Context context = new InitialContext(); # ds = (DataSource) context.lookup("ORA_JNDI"); # Connection con = ds.getConnection(); # con.setAutoCommit(false); # Statement st = con.createStatement(); # //插入一个空对象empty_blob() # st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())"); # //锁定数据行进行更新,注意“for update”语句 # ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update"); # if (rs.next()) # { # //得到java.sql.Blob对象后强制转换为weblogic.jdbc.vendor.oracle.OracleThinBlob(不同的App Server对应的可能会不同) # weblogic.jdbc.vendor.oracle.OracleThinBlob blob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) rs.getBlob("BLOBATTR"); # OutputStream outStream = blob.getBinaryOutputStream(); # //data是传入的byte数组,定义:byte[] data # outStream.write(data, 0, data.length); # } # outStream.flush(); # outStream.close(); # con.commit(); # con.close(); weblogic.jdbc.vendor.oracle.OracleThinBlob blob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) rs.getBlob("BLOBATTR"); 我用的是tomcat连接池啊 ibatis有个lobhandler的。用它来处理就好了。 可以参考一下http://hi.baidu.com/songzongquan/blog/item/69bc70f4c7779ae67709d767.html http://topic.csdn.net/u/20070612/09/CE2EBC81-14A5-49FA-912D-DF025FEAB5DD.html看看这个帖子 也许有帮助的 写Java项目时候 包的组织结构如何定义合理 怎样得到文件下载的状态 amchart 中文乱码问题 一个关于while的问题 ArrayList和Vector的区别,HashMap和Hashtable的区别 高手谈谈mop and reflection??? jdk1.4.0+resin2.1.2+oracle9 出现的问题 resin+mysql乱码问题、、、、在线等啊急~~~~~~~~~~~~~~~~~~~~~ 要做个javamail群发系统 jsp 显示联合查询数据 oracle 切割字符串 tomcat+hibernate如何自动重连mysql ssh2 和jquery 拿值问题
# //通过JNDI获得数据库连接
# Context context = new InitialContext();
# ds = (DataSource) context.lookup("ORA_JNDI");
# Connection con = ds.getConnection();
# con.setAutoCommit(false);
# Statement st = con.createStatement();
# //插入一个空对象empty_blob()
# st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())");
# //锁定数据行进行更新,注意“for update”语句
# ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update");
# if (rs.next())
# {
# //得到java.sql.Blob对象后强制转换为weblogic.jdbc.vendor.oracle.OracleThinBlob(不同的App Server对应的可能会不同)
# weblogic.jdbc.vendor.oracle.OracleThinBlob blob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) rs.getBlob("BLOBATTR");
# OutputStream outStream = blob.getBinaryOutputStream();
# //data是传入的byte数组,定义:byte[] data
# outStream.write(data, 0, data.length);
# }
# outStream.flush();
# outStream.close();
# con.commit();
# con.close();