線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1545
推到 Plurk!
推到 Facebook!

請教 LOB and ORACLE SAVE And LOAD FILE

尚未結案
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-19 16:39:29 IP:61.220.xxx.xxx 未訂閱
請問各位: 小弟用TABLE1.Field 去作LOAD FILE的動作...SAVE INTO ORACLE DATABASE TABLE1.Open; TABLE1.Insert; Table1OUTPUT_FILE.LoadFromFile(OPENDIALOG1.FileName); TABLE1.FieldByName('OUTPUT_NAME').Value:=Edit2.text; TABLE1.FieldByName('ORDER_ID').Value:=Edit1.text; TABLE1.Post; 然後用TABLE1.Field 去作SAVE FILE的動作 table1.Close; table1.Open; SearchOptions :=[loCaseInsensitive]; LocateSuccess :=table1.Locate('ORDER_ID',EDIT4.text,SearchOptions); if LocateSuccess= true then Table1OUTPUT_FILE.SaveToFile(saveDIALOG1.FileName); 存取. txt 都 OK 可是問題來了 當我要存取像 .doc .xls ......的檔案打開都是亂碼不然就是空空的 請問有沒有辦法可以解決 還有除了用TABLE1.Field.LoadFromFile() TABLE1.Field.SaveToFile() 還有沒有別的方法可用像 SQL.ADD('inster xxx.txt)可以用嗎? 謝謝
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-19 22:32:26 IP:218.32.xxx.xxx 未訂閱
rookie 你好 : 看來你的程式並無太大問題, 除了 TABLE1.Post; 遇到大檔案時, 需用 Transaction 加以包裝 :
TABLE1.DataBase.StartTransaction;
try
  TABLE1.Post;
  TABLE1.DataBase.Commit;
except
  TABLE1.DataBase.RollBack;
  Table1.Cancel;
  rasie;
end;
TABLE1.CommitUpdates;
*.DOC / *.XLS 無法正常存取, *.TXT 正常 ? Table1OUTPUT_FILE 對應的欄位資料型態是 BLOB 還是 CLOB ?
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-20 09:03:09 IP:61.220.xxx.xxx 未訂閱
謝謝Mickey 版主的回覆 clob ---> save txt--->ok save doc -->ok but 亂碼 in database(DBRichEdit) load txt -->ok load doc or other -->亂碼不然就是空空 blob ---> save txt -->ok save doc -->ok but when it load file .txt or other 不是亂碼不然就是空空    謝謝
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-20 11:30:44 IP:218.163.xxx.xxx 未訂閱
試試將 TField Cast : TBLOBField(Table1.FieldByName('OUTPUT_FILE')).LoadFromFile(OPENDIALOG1.FileName); TBLOBField(Table1.FieldByName('OUTPUT_FILE')).SaveToFile(saveDIALOG1.FileName); ps. 可用 select dbms_lob.getlength([LOBColumnName]) from [TableName], 看看是否等於 check-in 的 file size, 初步檢查是否正確存入. 發表人 - Mickey 於 2003/05/20 12:15:49
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-21 13:06:26 IP:61.220.xxx.xxx 未訂閱
解決了...要用Query才行.... DOC-->OK XLS-->OK TXT-->OK .???-->OK --------------------------LOAD FILE----------------- DATABASE1.StartTransaction; ST:=TFileStream.Create(OPENDIALOG1.FileName,fmOpenRead); Query2.ParamBYNAME('DOC_FILE').LoadFromStream(ST,ftOraBlob); SHOWMESSAGE('Data Saved'); Query2.ExecSQL; DATABASE1.COMMIT; except on E:exception do begin ST.Free; database1.Rollback; SHOWMESSAGE('Error on Save Data'); end; --------------------------SAVE FILE----------------- TBlobField(Query2.FieldByName('OUTPUT_FILE')).SaveToFile(edit6.Text); 謝謝Mickey 版主的回覆....
系統時間:2024-11-23 3:26:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!