談笑有鴻儒,往來無白丁

          在恰當(dāng)?shù)臅r(shí)間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時(shí)候請(qǐng)注意分類,佛曰我日里面是談笑文章,其他是各個(gè)分類的文章,積極的熱情投入到寫博的隊(duì)伍中來,支持blogjava做大做強(qiáng)!向dudu站長(zhǎng)致敬>> > 我的微博敬請(qǐng)收聽

          第一日:

          1.建立數(shù)據(jù)表
          create table aaa(id varchar2(9) not null,img blob);

          2.存儲(chǔ)過程
          create or replace procedure pro_upd(
          ? sid in string,
          ? bblob in blob? default empty_blob())
          is
          ?lobloc blob;
          ?vLength integer;
          begin??
          ? insert into aaa(id,img) values(sid,empty_blob());
          ???? IF (bblob IS NOT NULL) THEN?
          ??????? SELECT img INTO lobloc FROM aaa WHERE ID = sid FOR UPDATE;?
          ??????? vLength := dbms_lob.getlength(bblob);
          ?DBMS_LOB.OPEN(lobloc,DBMS_LOB.lob_readwrite);
          ?DBMS_LOB.copy(lobloc,bblob,vLength);
          ????? END IF;
          ????? commit;
          ?? exception??
          ???????? when??? others??? then??
          ???????? rollback;??
          end;

          3.程序代碼
          ? 用的ODAC的oraquery
          ? orqry1.SQL.Text := 'call pro_upd(:id,:bblob)';
          ? orqry1.Params.ParamByName('id').Value := '123';
          ? orqry1.Params.ParamByName('bblob').LoadFromFile('D:\work\照片上傳\pic\005.jpg',ftBlob);
          ? orqry1.ExecSQL;?

          目的:就是把圖片上傳到數(shù)據(jù)庫,結(jié)果4k一下的可以成功上傳;4k以上稍小點(diǎn)的圖片就ORA-03113: 通信通道的文件結(jié)束如果幾百k就會(huì)報(bào)ora-12571錯(cuò)誤;經(jīng)過兩天的努力發(fā)現(xiàn)的一個(gè)規(guī)律!

          繼續(xù)找原因。。。。。。

          第二日
          8月18日問題終于得到解決,但是存儲(chǔ)過程和調(diào)用都經(jīng)過了改變!

          ? with orstrdprc1 do begin
          ??? StoredProcName := 'pro_upd';
          ??? PrepareSQL;? // receive parameters
          ??? Randomize;
          ??? ParamByName('SID').AsString := IntToStr(Random(1000));
          ??? ParamByName('bblob').ParamType := ptInput;? // to transfer Lob data to Oracle
          ??? ParamByName('bblob').AsOraBlob.LoadFromFile('D:\work\照片上傳\pic\10000027_005.jpg');
          ??? Execute;
          ? end;

          這樣可以了,但是要求
          --這個(gè)存儲(chǔ)過程得到了解決
          create or replace procedure pro_upd(
          ? sid in string,
          ? bblob out blob)
          is
          begin??
          ? insert into aaa(id,img) values(sid,empty_blob())
          ? RETURNING img INTO bblob;
          end;

          繼續(xù)前進(jìn),看看原來的存儲(chǔ)過程什么原因不可以!

          總結(jié):lob 文件4k以內(nèi)的內(nèi)容放到表段,其他的放到blob的表空間!
          插入時(shí),首先要插入empty_blob,然后select? for update!這樣才能更新blob字段
          另外如果是存儲(chǔ)過程,則注意參數(shù),想下面的一樣:

          ? bblob out blob

          這樣才能得到blob字段的定位器;;;更新內(nèi)容!

          但是現(xiàn)在還不知道?bblob? in? blob 這種方式下如何修改,上傳圖片

          第三天:
          經(jīng)過3天的努力尋找,終于找到了完美的解決方案居然就是一句話的問題,完全可以解決?in blob的問題了
          TemporaryLobUpdate := True;
          加一句就好了
          到此在存儲(chǔ)過程里面解決上傳blob的問題解決完畢。
          到此可以圓滿結(jié)束,明天的合同就簽了。
          注意文章轉(zhuǎn)載注明出處:http://blogjava.net/badboyryan

          posted on 2007-08-17 01:36 壞男孩 閱讀(4205) 評(píng)論(26)  編輯  收藏 所屬分類: ORACLE篇章DELPHI

          FeedBack:
          # re: 通過存儲(chǔ)過程來上傳BLOG
          2007-08-17 08:38 | i
          "通過存儲(chǔ)過程來上傳BLOG",是“BLOB”吧?  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳BLOB
          2007-08-18 14:17 | Alpha

          呵呵,沒有遇到過這樣的,沒這樣做過,沒經(jīng)驗(yàn)。。。

            回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB[未登錄]
          2007-10-23 13:35 | liu
          請(qǐng)問
          TemporaryLobUpdate := True;
          是在什么地方設(shè)置的,怎么都找不到這個(gè)屬性阿!
          麻煩能給說一下嗎,多謝了!
          E-main:wxsan@163.com  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2008-12-24 17:06 | df
          汗,偶也不懂哦。。偶遇到了。是用Delphi。麻煩你發(fā)一份結(jié)局的東東給我吧。郵箱:mlb_1@163.com
          謝謝。。非常感謝  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2012-09-22 22:46 | SEO
          建立數(shù)據(jù)表  回復(fù)  更多評(píng)論
            
          # rock
          2012-10-06 19:02 | slot machine gratis
          。偶遇到了。是用Delphi。麻煩你發(fā)一份結(jié)局的東東給我吧。郵箱:mlb_1@163.com
          謝謝。。非常感謝  回復(fù)  更多評(píng)論
            
          # rock
          2012-10-08 16:14 | slot machine gratis
          偶遇到了。是用Delphi。麻煩你發(fā)一份結(jié)局的東東給我吧。郵箱:mlb_1@163.com
          謝謝。  回復(fù)  更多評(píng)論
            
          # rock
          2012-10-08 18:58 | online casino
          終于找到了完美的解決方案居然就是一句話的問題,完全可以解決 in blob的問題了  回復(fù)  更多評(píng)論
            
          # rock
          2012-10-15 19:14 | casinò online
          麻煩你發(fā)一份結(jié)局的東東給我吧。郵箱  回復(fù)  更多評(píng)論
            
          # poker gratis
          2012-10-16 19:02 | poker gratis
          是在什么地方設(shè)置的,怎么都找不到這個(gè)屬性阿!
          麻煩能給說一下嗎,多謝了!   回復(fù)  更多評(píng)論
            
          # rock
          2012-10-16 19:27 | video poker gratis
          美的解決方案居然就是一句話的問題,完全可以解  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2012-11-24 11:38 | cheap beats by dre headphones
          美的解決方案居然就是一句話的問題,完全可以解  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2012-11-30 13:23 | Austin Home Builder
          這位大哥,能把那四個(gè)工具給我發(fā)下不,找了挺長(zhǎng)時(shí)間都沒找著,很多鏈接都沒法用了!我的郵箱  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2012-12-22 13:22 | www.posicionamientoeficaz.net/
          這位大哥,能把那四個(gè)工具給我發(fā)下不,找了挺長(zhǎng)時(shí)間都沒找著,很多鏈接都沒法用了!我的郵箱  回復(fù)  更多評(píng)論
            
          # rock
          2012-12-27 15:34 | film streaming
          終于找到了完美的解決方案居然就是一句話的問題,完全可以解決 in blob的問  回復(fù)  更多評(píng)論
            
          # contaminacion por electromagnetismo bioelectrica
          2013-01-25 17:38 | nitinkhare246@@gmail.com
          ??? ??? ?? ????? ??! ??? ? ??, ??? ??? ?? ?? ?? ? ????., ?? ?? ??  回復(fù)  更多評(píng)論
            
          # rock
          2013-02-06 15:24 | http://www.google-seo-top.com/
          這位大哥,能把那四個(gè)工具給我發(fā)下不,找了挺長(zhǎng)時(shí)間都沒找著,很多鏈接都沒法用了!  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-02-06 17:40 | alternador precio
          這位大哥,能把那四個(gè)工具給我發(fā)下不,找了挺長(zhǎng)時(shí)間都沒找著,很多鏈接都沒法用了  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-02-18 05:34 | tiendas padel
          ??? ????? “???? ???? ??? ????? ??? ????”? ????. ?????? ??? ??? ????. “???? ???? ??? ?? ??? ???? ??? ??? ??? ?? ???”?. ????? ??? ?? 70???? ???? ??? ??, ??? ????. ??? ??? ???, ??? ??? ??, ??? ??, ??? ???, ?? ??? ??? ??? ???? ???.  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-03-01 17:27 | servicio inmobiliario madrid
          感謝您的分享您的想法!我將不勝感激,但如果你想更詳細(xì)的問題,因?yàn)槲矣X得缺了點(diǎn)什么,在這里和那里。  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-05-22 09:29 | jual jilbab murah
          這位大哥,能把那四個(gè)工具給我發(fā)下不,找了挺長(zhǎng)時(shí)間都沒找著,很多鏈接都沒法用了!我的郵箱  回復(fù)  更多評(píng)論
            
          # presentation templates
          2013-06-17 04:23 | honey3370@gmail.com
          ???? ?? ??? ????? ???? ?? ??? ? ? ????? ?? ?? ????
            回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-06-20 17:30 | uk essays
          偶遇到了。是用Delphi。麻煩你發(fā)一份結(jié)局的東東給我吧。  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-08-08 18:12 | Clipping Path
          ?? ?? ??? ????? ???? ?? ??? ? ? ????? ?? ?? ????  回復(fù)  更多評(píng)論
            
          # re: 通過存儲(chǔ)過程來上傳文件大于4kBLOB
          2013-11-22 00:47 | toko sepatu online
          謝謝你的每一個(gè)其他的信息網(wǎng)站。  回復(fù)  更多評(píng)論
            
          # my site
          2014-01-11 00:22 | toko sepatu terpercaya
          首先,對(duì)你的寫作成績(jī)表示祝賀。謝謝您的分享這些信息的口齒方式。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 雅江县| 太保市| 弥渡县| 金坛市| 平阴县| 沙湾县| 泰顺县| 论坛| 土默特右旗| 云浮市| 连州市| 芮城县| 苏尼特左旗| 淮北市| 祥云县| 景德镇市| 定兴县| 嫩江县| 昌图县| 岢岚县| 松桃| 六枝特区| 丹棱县| 梧州市| 宁晋县| 棋牌| 全州县| 洞口县| 界首市| 神农架林区| 句容市| 扎赉特旗| 曲阜市| 马关县| 新余市| 桦川县| 武胜县| 会同县| 芦山县| 昂仁县| 称多县|