請教 LOB and ORACLE SAVE And LOAD FILE |
尚未結案
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
請問各位:
小弟用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 發送簡訊給我 |
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 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
試試將 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 發送簡訊給我 |
解決了...要用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 版主的回覆....
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |