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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    在Oracle中存儲Image
    ?
    ??? 學習一下如何在Oracle中存儲圖片、影像等大文件。是從Tom那里搬過來的代碼,真的是深入淺出啊,能把復雜的問題弄簡單。好了廢話不多說了,直接上代碼。 注意:后面那段是用于直接輸出html代碼在網頁展現的腳本。
    ?
    ?
    SQL> create table demo
    ? 2? ( id??????? int primary key,
    ? 3??? theBlob?? blob
    ? 4? )
    ? 5? /
    ?
    Table created.
    ?
    ?
    SQL> create or replace directory my_files as 'D:\TEST\Image';
    ?
    Directory created.
    ?
    ?
    SQL> declare
    ? 2????? l_blob??? blob;
    ? 3????? l_bfile?? bfile;
    ? 4? begin
    ? 5????? insert into demo values ( 1, empty_blob() )
    ? 6????? returning theBlob into l_blob;
    ? 7
    ? 8????? l_bfile := bfilename( 'MY_FILES', 'af73.jpg' );
    ? 9????? dbms_lob.fileopen( l_bfile );
    10
    11????? dbms_lob.loadfromfile( l_blob, l_bfile,
    12???????????????????????????? dbms_lob.getlength( l_bfile ) );
    13
    14????? dbms_lob.fileclose( l_bfile );
    15? end;
    16? /
    ?
    PL/SQL procedure successfully completed.
    ?
    --done
    ?
    ?
    ?
    ?

    --Now here is the package that can retrieve the pdf (or anything for that matter.? Just
    --keep adding procedures that are named after the file type like .doc, .pdf, .xls and so
    --on.? Some browsers really want the extension in the URL to be "correct")

    SQL> create or replace package image_get
    ? 2? as
    ? 3????? procedure gif( p_id in demo.id%type );
    ? 4? end;
    ? 5? /
    ?
    Package created.
    ?
    SQL>
    SQL> create or replace package body image_get
    ? 2? as
    ? 3
    ? 4? procedure gif( p_id in demo.id%type )
    ? 5? is
    ? 6????? l_lob?? blob;
    ? 7????? l_amt?? number default 30;
    ? 8????? l_off?? number default 1;
    ? 9????? l_raw?? raw(4096);
    10? begin
    11????? select theBlob into l_lob
    12??????? from demo
    13?????? where id = p_id;
    14?????? -- make sure to change this for your type!
    15????? owa_util.mime_header( 'image/gif' );
    16
    17????????? begin
    18???????????? loop
    19??????????????? dbms_lob.read( l_lob, l_amt, l_off, l_raw );
    20
    21??????????????? -- it is vital to use htp.PRN to avoid
    22??????????????? -- spurious line feeds getting added to your
    23??????????????? -- document
    24??????????????? htp.prn( utl_raw.cast_to_varchar2( l_raw ) );
    25??????????????? l_off := l_off+l_amt;
    26??????????????? l_amt := 4096;
    27???????????? end loop;
    28????????? exception
    29???????????? when no_data_found then
    30??????????????? NULL;
    31????????? end;
    32? end;
    33
    34? end;
    35? /
    ?
    Package body created.
    ?
    ?
    ?
    ??? 注:以上腳本涉及到的系統包有:DBMS_LOB | OWA_UTIL | UTL_RAW | HTP
    ?
    ??????? UTL_RAW might not be installed on your database.? It is part of replication.
    ??????? If you do not have it installed, simply:
    ??????? o cd $ORACLE_HOME/rdbms/admin
    ??????? o find the two files with "raw" in their name (eg: ls *raw*)
    ??????? o using svrmgrl connect as INTERNAL OR SYS -- only these users, no one else can successfully install UTL_RAW
    ??????? o run the .sql and then the .plb file
    ?
    ??? 系統包使用方法可查看《PLSQL Packages and Types Reference》
    ?
    ?
    ?
    ?
    posted on 2009-03-16 21:45 decode360 閱讀(315) 評論(0)  編輯  收藏 所屬分類: 06.PLSQL
    主站蜘蛛池模板: 亚洲无吗在线视频| 国产精品亚洲mnbav网站| 99久久久精品免费观看国产 | 亚洲精品乱码久久久久久按摩| 无码不卡亚洲成?人片| 国产国产人免费人成免费视频| 暖暖免费高清日本中文| 日本黄页网站免费| 国产一区二区三区在线免费观看| 国产精品四虎在线观看免费| 亚洲 综合 国产 欧洲 丝袜 | 日韩免费无码视频一区二区三区| 午夜无码A级毛片免费视频| 最近中文字幕完整版免费高清| 18pao国产成视频永久免费| 综合在线免费视频| 好男人视频社区精品免费| 国产无遮挡色视频免费视频| 亚洲国产日韩在线观频| 亚洲区小说区图片区QVOD| 亚洲精品高清久久| 亚洲人成免费网站| 亚洲AV永久无码精品放毛片 | 亚洲视频一区二区在线观看| 亚洲宅男天堂a在线| 亚洲精品欧美综合四区 | 色拍自拍亚洲综合图区| 亚洲入口无毒网址你懂的| 国产综合成人亚洲区| 中国极品美軳免费观看| 最近免费字幕中文大全视频| 成人在线视频免费| 亚洲美女在线国产| 久久精品国产亚洲av麻豆色欲| 亚洲情A成黄在线观看动漫软件| 国产亚洲精品美女久久久久久下载| 丁香花在线观看免费观看图片 | 一个人看www免费高清字幕| 性色午夜视频免费男人的天堂 | 又硬又粗又长又爽免费看| 暖暖日本免费中文字幕|