exe 실행파일을 서버의 파일에 저장해서 업그레이드를 하다가 여러가지 문제로
DataBase(FireBird)에 직접 입력해서 업그레이드 하고 있습니다.
참 편리하고 Client와 서버간의 접속문제도 신경 끊고...네트웍만 연결 되어 있으면 되었는데...
가만히 보니 문제가 하나 발생합니다.
아래 소스로 입력,또는 수정 하게 되는데요..
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 := TmpStream.Size;
TmpStream.Position := 0;
parambyname('p_prog').LoadFromStream(TmpStream,ftBlob);
Execsql;
end;
잘 되는 소스입니다.
문제는 DD의 용량이 커진다는것입니다.
같은 크기의 실행파일을 두번 올리면 전체 디비 용량이 실행파일 만큼 늘어 납니다.
자꾸 올리면 디비용량은 자꾸 늘어 납니다.
위 소스가 한번 실행 될 때 마다 DataBase용량은 자꾸 커집니다.
요것을 어찌 해결 해야 할까요?
|