<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java,J2EE,Weblogic,Oracle

    java項目隨筆
    隨筆 - 90, 文章 - 6, 評論 - 61, 引用 - 0
    數據加載中……

    Weblogic 下 oracle 的 blob 操作

    最后公司的WEB服務器要用 WebLogic 8.1 替換原來的 Resin ,因為要用webloic 的 數據庫連接池,原有的程序需要變動
    (1)向? blob 字段寫入值
    ???
    ?????????????????????? String medpk = dao.getElementPK(cn, vo);
    ??????????????????????????? evo.setEle_elementId(medpk);
    ??????????????????????????? evo.setEle_contentid(conpk);
    ??????????????????????????? evo.setEle_type("23");
    ??????????????????????????? dao.addElementRelation(cn, evo);
    ??????????????????????????? evo.setMmsnews_elementID(medpk);
    ?????????????????? //Connection conn=JdbcConnectionPool.getConnection();
    ??????????????????????????? try {???
    ??????????????????????????????String sql =
    "insert into OM_CM_MMSNEWS (elementid,title,content) values(?,?,empty_blob())";????????????????????????????????????? ???? ????? //1.blob字段插入空值
    ??????????????????????????????? PreparedStatement ps = cn.prepareStatement(sql);
    ?????????????????????????????????ps.setString(1, evo.getEle_elementId());
    ??????????????????????????????? ps.setString(2, evo.getMmsnews_title());
    ??????????????????????????????? ps.execute();
    ??????????????????????????????? sql =

    ??"select content from OM_CM_MMSNEWS where elementid=" + medpk +?" for update";???????????????????????????????????//2.更新指定記錄的 blob字段
    ??????????????????????????????? Statement st = cn.createStatement();
    ??????????????????????????????? ResultSet rs = st.executeQuery(sql);
    ??????????????????????????????? File file = new File(evo.getMmsnews_content());
    ??????????????????????????????? if (rs.next()) {
    ???OracleThinBlob blob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) rs.getBlob(1);???????
    ????????????????????????????????????????????????????????????????//必須用weblogic 的jar包
    ??????????????????????????????????? OutputStream outStream = blob. getBinaryOutputStream();
    ??????????????????????????????????? InputStream fin = new FileInputStream(file);
    ??????????????????????????????????? byte[] b = new byte[blob.getBufferSize()];
    ??????????????????????????????????? int len = 0;
    ??????????????????????????????????? while ((len = fin.read(b)) != -1) {
    ??????????????????????????????????????? outStream.write(b, 0, len);
    ??????????????????????????????????? }
    ??????????????????????????????????? fin.close();
    ??????????????????????????????????? outStream.flush();
    ??????????????????????????????????? outStream.close();
    ??????????????????????????????? }
    ??????????????????????????????? rs.close();
    ??????????????????????????????? st.close();
    ??????????????????????????????? logger.error("this MmsNews is save!");
    ??????????????????????????? } catch (Exception ex) {
    ??????????????????????????????? logger.error(ex.getMessage());
    ??????????????????????????????? throw new Exception(ex.getMessage());
    ??????????????????????????? }



    (2)提取blob字段的值,并保存為文件
    ?private static void getZipFile(String contentid, String filepath,
    ?????????????????????????????????? String zipfile) throws
    ??????????? DOException {

    ??????? String sql = "select? content ?from om_cm_mmsnews a where a.elementid in? (select b.elementid from om_cm_elementrelation b where b.contentid in (select c.contentid from om_cm_content c where c.contentid=?))";
    ??????? Connection conn = null;
    ??????? try {
    ??????????? //建立文件夾
    ??????????? File tempDicFile = new java.io.File(filepath);
    ??????????? tempDicFile.mkdirs();

    ??????????? //提取 blob 字段的內容并保存為 zip 文件
    ??????????? conn = JdbcConnectionPool.getConnection();
    ??????????? PreparedStatement ps = conn.prepareStatement(sql);
    ??????????? ps.setString(1, contentid); //傳入 contentid
    ??????????? ResultSet rst = ps.executeQuery();
    ??????????? while (rst.next()) {
    ??????????????? /* 取出此BLOB對象 */
    ??????????????? java.sql.Blob blob = rst.getBlob("content");
    ??????????????? if (blob != null) {
    ??????????????????? /* 以二進制形式輸出 */
    ??????????????????? BufferedInputStream in = new BufferedInputStream(blob.
    ??????????????????????????? getBinaryStream());
    ??????????????????? BufferedOutputStream out = new BufferedOutputStream(new
    ??????????????????????????? FileOutputStream(zipfile));
    ??????????????????? byte[] buf = new byte[1024];
    ??????????????????? while (true)
    ??????????????????? {
    ??????????????????????? int count = in.read(buf);
    ??????????????????????? if (count <= 0)
    ??????????????????????? {
    ??????????????????????????? break;
    ??????????????????????? }
    ??????????????????????? out.write(buf, 0, count);
    ??????????????????? }
    ??????????????????? in.close();
    ??????????????????? out.close();
    ??????????????? }
    ??????????? }
    ??????????? rst.close();
    ??????????? ps.close();
    ??????????? conn.close();
    ??????????? logger.error("Mmspreview -->getZipFile 創建zip文件成功");
    ??????? } catch (Exception ex) {
    ??????????? logger.error("Mmspreview -->getZipFile 創建zip文件失敗!!!!!" +
    ???????????????????????? ex.getMessage());
    ??????? } finally {
    ??????????? PublicUtilit.rapidReleaseConnection(null, conn, null, null);
    ??????? }
    ??? }

    posted on 2006-11-16 12:39 龔椿深 閱讀(687) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人爽A毛片免费看| 女人18毛片免费观看| 亚洲精品无码成人AAA片| 成年网站免费入口在线观看| 丁香亚洲综合五月天婷婷| 另类图片亚洲校园小说区| 免费无遮挡无码永久在线观看视频| 亚洲欧洲无卡二区视頻| 日韩成人免费视频播放| 青青免费在线视频| 亚洲国产高清在线一区二区三区| 五月天婷婷免费视频| 亚洲日韩小电影在线观看| 久久免费视频观看| 91嫩草亚洲精品| 永久黄网站色视频免费| 日韩免费码中文在线观看| 亚洲日本va中文字幕久久| 久久免费的精品国产V∧| 国产精品亚洲精品青青青| 日本高清免费aaaaa大片视频| 日韩大片在线永久免费观看网站| 成人亚洲性情网站WWW在线观看| 免费无码av片在线观看| 亚洲综合激情另类小说区| 卡1卡2卡3卡4卡5免费视频| 成人午夜免费视频| 亚洲自偷自偷精品| 色吊丝最新永久免费观看网站| 日韩精品视频在线观看免费| 亚洲精品自产拍在线观看动漫| 成人AV免费网址在线观看| 国产成人亚洲精品电影| 亚洲福利在线观看| 国产高清在线免费视频| 99久久国产精品免费一区二区| 在线观看亚洲AV日韩AV| 亚洲男同帅GAY片在线观看| 成年女人毛片免费播放视频m| 国产黄色片免费看| 亚洲偷偷自拍高清|