델파이 4.0이구요 db는 oracle 입니다.
Blob Field에 exe, 워드문서, txt문서 등을 long binary로 저장하고
저장된 레코드를 다시 복원하여 하드디스크상의 파일로 저장하려 합니다.
그런나 저장은 되는거 같은데 복원하면 txt 외에는 실행이 안되고
다른 형태의 파일은 제대로 처리되지 않습니다.
물론 db의 blob size는 조정했구요(500000).
어디가 틀렸는지 살펴보시고 답변부탁드립니다.
참고로 실행파일을 db에 저장했다가 다른이름으로 저장하면
사이즈도 예전 파일과 같습니다. 그러나
실행해 보면 도스창이 나타나고 메모리가 부족하다는 메세지가
나면서 종료합니다.
savetofile과 savetostream의 차이점에 대해서도 간략히 개요만이라도
설명해주시면 고맙구요. 아시다시피 델파이 help는 영 꽝이라서.
//db에 저장
if trim(edi_flongname.text) <> '' then
begin
Quy_MailFile.Insert;
Quy_MailFileAgency_no.AsString := Quy_MasterAgency_no.AsString;
Quy_MailFileMail_dt.AsString := Quy_MasterMail_dt.AsString;
Quy_MailFileMail_Seq.Value := Quy_MasterMail_Seq.Value;
Quy_MailFileMail_File.LoadFromFile(edi_flongname.Text);
Quy_MailFile.Post;
end;
// 저장된 record를 query해서 파일로 저장
if trim(edi_fname.text) <> '' then
begin
SaveDialog1.FileName := edi_flongname.Text;
if SaveDialog1.Execute then
begin
Quy_MailFile.Close;
Quy_MailFile.Open;
Quy_MailFileMail_File.SaveToFile(SaveDialog1.FileName);
end;
end;
개인적으로 Mail 보내드렸습니다.
여기만 보고 계실것 같아서.....