본문 바로가기
Delphi Tip/데이터베이스

데이터베이스(Database)에 실행파일 저장

by MonoSoft 2024. 6. 14.
728x90
반응형

데이터베이스(Database)에 실행파일 저장

728x90

 

 

 

CREATE TABLE ADCESER -

(

AD_PRNM VARCHAR(15) NOT NULL, --프로그램이름

AD_MODT VARCHAR(25) NOT NULL, --프로그램수정날짜-2007-07-01 오전 10:20

AD_PROG BLOB SUB_TYPE 0 SEGMENT SIZE 10240, --프로그램저장필드10메가

PRIMARY KEY (AD_PRNM)

)

 

쿼리 저장 소스

TmpStream := TmemoryStream.Create;

TmpStream.LoadFromFile('C:\Package\Program\'+prnm+'.exe');

TmpStream.Position := 0;

 

with DataMd.SQLmedia do

begin

close;

sql.clear;

sql.add('update ADCESER set ');

sql.add(' ad_modt = :p_modt, ');

sql.add(' ad_prog = :p_prog ');

sql.add('where ad_prnm = '''+prnm+''' ');

parambyname('p_modt').asstring :=

COPY(DateTimeToStr(FileDateToDateTime( FileAge('C:\Package\Program\'+prnm+'.exe'))),1,21);

parambyname('p_prog').size := 10240;

//TmpStream.Size;

TmpStream.Position := 0;

parambyname('p_prog').LoadFromStream(TmpStream,ftBlob);

Execsql;

end;

TmpStream.Free;

 

저장된 실행파일 경로 저장

with DataMd.SQLmedia do

begin

close;

sql.clear;

sql.add('select * from ADCESER ');

sql.add('where ad_prnm = ''UNIcess'' ');

open;

if RecordCount > 0 then

begin

TBlobField(FieldByName('AD_PROG')).SaveToFile('C:\Package\Rosys\UNIcess.exe');

end;

end;

 

728x90
반응형

댓글