Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
압축을 하고 싶은데요
제가 만든 프로그램에서 DB를 MDB를 사용하고 있습니다
그런데 MDB를 백업하고 싶거든요
프로그램상에서 생각날때마다 압축을 해서 보관하고 싶습니다
예를 들어서 버튼을 클릭하면 MDB를 압축을 하는겁니다
제가 너무 망막한 질문을 했죠?
그런데 저도 답답합니다
어떻게 해야되죠?
부탁드리겠습니다
2
COMMENTS
구창민
•
2002.12.28 23:49
안녕하세요~ 구창민입니다.
제가 예전에 사용한 소규모 MDB 를 압축하고 복구했던 방법입니다.
참고하시고 항상 즐거운 프로그래밍 하시길~~
=============================================================
function DatabaseCompact(const sdbName: WideString) : boolean;
var
JE : TJetEngine; //Jet Engine
sdbTemp : WideString; //TEMP database
sdbTempConn : WideString; //Connection string
const
SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=';
begin
Result:=False;
sdbTemp := ExtractFileDir(sdbName) +
'TEMP' +
ExtractFileName(sdbName);
sdbTempConn := SProvider + sdbtemp;
if FileExists(sdbTemp) then
DeleteFile(sdbTemp);
JE:= TJetEngine.Create(Application);
try
try
JE.CompactDatabase(SProvider + sdbName, sdbTempConn);
DeleteFile(sdbName);
RenameFile(sdbTemp, sdbName);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
end;
end;
procedure TForm1.btnCompactClick(Sender: TObject);
var
dbSrc : WideString;
dbDest : WideString;
const
SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=';
begin
dbSrc := SProvider + edSource.Text; //TEdit.Text - 압축될 MDB
dbDest := SProvider + edDest.Text;
if FileExists(edDest.Text) then
DeleteFile(edDest.Text);
CompactDatabase(dbSrc,dbDest);
end;
===============================================================
0
0
댓글
권민호
•
2002.12.28 13:13
-------------------------
ZipMaster라는 콤포넌트를 이용하면 됩니다.(자료실에 있지 않나?)
하지만 한가지 주의해야 할 것은 DB가 오픈된 상태에서는
안되는 경우가 있으니 주의하세요
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
최진아
•
2002.12.28 10:18
1
COMMENTS
/
0
LIKES
mysql이 돌아가고 있는데 mysql컴포넌트를 사용해서 연결할때 문제가 발생합니다.
박성훈
•
2003.01.16 22:12
정확히는 모르지만요. 권한설정이 바뀌었거나 tcp/ip쪽에 이상이 생겼을 수 있습니다. mysql지우고 새...
델사랑
•
2002.12.28 07:40
2
COMMENTS
/
0
LIKES
압축을 하고 싶은데요
제가 만든 프로그램에서 DB를 MDB를 사용하고 있습니다 그런데 MDB를 백업하고 싶거든요 프로그램상에서 생각날때마다 압축을 해서 보관하고 싶습니다 예를 들어서 버튼을 클릭하면 MDB를 압축을 하는겁니다 제가 너무 망막한 질문을 했죠...
구창민
•
2002.12.28 23:49
안녕하세요~ 구창민입니다. 제가 예전에 사용한 소규모 MDB 를 압축하고 복구했던 방법입니다. 참고...
권민호
•
2002.12.28 13:13
------------------------- ZipMaster라는 콤포넌트를 이용하면 됩니다.(자료실에 있지 않나?) 하지만 한...
전덕성
•
2002.12.28 05:59
1
COMMENTS
/
0
LIKES
MySql에서....
박성훈
•
2003.01.16 22:14
혹시 쿼리와 DBGrid붙여놓고 쿼리한 값으로 직접 입력을 하시나요? 그렇다면 쿼리컴포넌트의 RequestLiv...
최은하
•
2002.12.28 03:36
1
COMMENTS
/
0
LIKES
컴퍼넌트(TSpeedButton) 생성해서 사용하기에서.....
소울해커
•
2002.12.28 08:53
uses Buttons; ... private SpeedBtn: TSpeedButton; ... procedure TForm1.FormCreate(Se...
차력사 김무옥
•
2002.12.28 03:35
2
COMMENTS
/
0
LIKES
쿼리의 값을 DBGrid에 보여줄때 값을 다르게 보여줄려고...
최용일
•
2002.12.28 22:31
안녕하세요. 최용일입니다. DBGrid와 연결된 Query컴포넌트에서 필드추가하시고 그 필드의 OnSetText이...
윤승환
•
2002.12.28 08:33
제생각에는 방법이 없는듯 한데요. 디비그리드는 쿼리 자체를 받는것이기 때문에 디비그리드 자체에서 ...
노계섭
•
2002.12.28 03:32
2
COMMENTS
/
0
LIKES
StringGird에서 특정셀에 특정문자를 지우는 방법좀...
윤승환
•
2002.12.28 08:29
이렇게 하심이 어떨까요... str := StringGrid1.Cells[0,1]; i := pos('(주...
소울해커
•
2002.12.28 08:19
TBV_SANGHO := StringReplace(SG_Gird.Cells[2,I],'(주)','',rfReplaceAll]); ...
어린왕자A
•
2002.12.28 02:58
•
1
COMMENTS
/
0
LIKES
DBF의 특정필드의 데이타가 이상해요.[첨부파일]
김수경
•
2002.12.28 19:30
메모 내용을 보관한 *.dbt File이 없어서 열어 볼 수가 없습니다. 첨부해 주세요
낭만제임스
•
2002.12.28 02:39
2
COMMENTS
/
0
LIKES
에디트 박스에 한글과 영문 입력시 문자수를 알아내는 방법?
남충희
•
2002.12.31 04:19
var wSt : WideString; begin wSt := Edit1.Text; &nb...
권민호
•
2002.12.28 13:24
-------------------------------------------- 글쎄요 저같으면 대충 아래와 같이 해보겠습니다. var i,...
도니
•
2002.12.27 21:47
8
COMMENTS
/
0
LIKES
왜 검색하니까 안나오냐..(Qreport)
임형호
•
2002.12.28 00:45
혹시 예전의 질답게시판을 찾아보셨는지요? 위에 보면 초보자들이 처음시작을 하는데 필요한 상식이라고 ...
도니
•
2002.12.28 00:51
그렇군요..거기도 한번 검색해 봐야겠네요.>^^;; 출력할때 마다 값이 증가한다는건요.. 프리뷰에서 미...
임형호
•
2002.12.28 01:26
혹시 찾고 계신게 ForceNewPage 속성이 아니신지요..???
열심히
•
2002.12.27 22:48
출력할떄마다 값이 증가하는 이유는.. 메모리 해제가 제대로 안됐던것 같네요... create(appli...
석
•
2002.12.28 00:30
혹시 BeforePrint라는 Event에서 값을 설정한게 아닙니까? BeforePrint는 Preview에서도 그리고 Print를 ...
도니
•
2002.12.28 00:13
메모리 해제할 필요없이 출력한번하고난뒤에 초기화를 해주면 될꺼 같은데.. 어디서 해줘야하는지요.. ...
jangumma
•
2002.12.28 05:12
혹시 이걸 찾는 건 아닌지? TQRExpr의 속성 중 ResetAfterPrint를 True로 설정 하심이... TQRLabel을...
• • •
최종일
•
2002.12.27 21:40
1
COMMENTS
/
0
LIKES
CID(발신자번호표시)를 델에서 사용할수 있었으면 합니다...
최용일
•
2002.12.27 22:34
안녕하세요. 최용일입니다. 허~ 질문이 참 황당하네요... 뭐 아무런 설명도 없이 무작정 발신자 번호 표...
엄문용
2002.12.27 21:35
0
COMMENTS
/
0
LIKES
이 에러 확인좀 부탁드립니다..ado관련질문
미니
•
2002.12.27 21:26
2
COMMENTS
/
0
LIKES
DLL로 MDI Application을 만들수는 없을까요 ?
구창민
•
2002.12.27 22:50
안녕하세요~ 구창민입니다. 아래 코드는 파워러브델파이에 기고 되었던 MDI 차일드 폼을 DLL 로 사용...
미니
•
2002.12.27 23:02
답변주셔서 감사합니다. 죄송하지만 제가 질문을 잘못한거 같군요 ! 제 말은 메인폼에서 호출할 DLL폼이 ...
도니
•
2002.12.27 21:08
5
COMMENTS
/
0
LIKES
세이브 다이얼로그에서여..
최용일
•
2002.12.27 22:37
안녕하세요. 최용일입니다. if Dialog.Execute then begin 파일열기; 파일...
LuckyBoy
•
2002.12.27 21:27
MessageBox의 Help를 찾아보시면 답이 나와 있습니다.. 하시고 싶은 메세지를 띄울때.. 다음과 같이 해...
도니
•
2002.12.27 21:50
또 메세지 박스가 아니라요.. 세이브다이얼로그에서...취소를 누르면.. 저 밑에 파일 저정하는 부분에서 ...
구창민
•
2002.12.27 22:08
안녕하세요~ 구창민입니다 취소시에는 if SaveDialog.FileName = '' then 이렇게 비교하면 되겠죠. ...
도니
•
2002.12.27 22:28
반프
2002.12.27 18:32
0
COMMENTS
/
0
LIKES
퀵릭포트 출력시 오라클과 바로 연결하는 방법?
하기현
•
2002.12.27 17:46
1
COMMENTS
/
0
LIKES
disible된 Eidt박스의 핸들값을 구하는 방법은 없는건가요?
최용일
•
2002.12.27 22:42
안녕하세요. 최용일입니다. 좌표로 자식윈도우핸들구할때는 ChildWindowFromPoint 이 함수 쓰구요... ...
초보짱..
•
2002.12.27 15:35
2
COMMENTS
/
0
LIKES
데이타베이스 오류체크하기
구창민
•
2002.12.27 23:29
안녕하세요~ 구창민입니다. 아래 코드처럼, try ... &...
초보짱..
•
2002.12.28 02:37
--------------------- 님 감사합니다....^^ 그런데 그렇게 해보니 에러메세지스트링은 받을수 있는데 ...
goodlsw
2002.12.27 10:57
0
COMMENTS
/
0
LIKES
c++의 virtual과 델파이의 virtual
엄화용
•
2002.12.27 09:54
1
COMMENTS
/
0
LIKES
SQL문 좀 봐주세요..
열심히
•
2002.12.27 20:43
조인이 하나만 걸린게 아니라 두번 걸렸다는 뜻인데요.. 이 세개의 테이블을 조인하면서 님이 원하시는 ...
Formas
•
2002.12.27 07:28
1
COMMENTS
/
0
LIKES
string?PChar?
DelChoBo
•
2002.12.27 21:00
아래와 같이 pchar()로 해보시길.. MessageBox(0,pchar(inttostr(100)),'test',MB_OK) 그럼..
도니
•
2002.12.27 06:53
1
COMMENTS
/
0
LIKES
콘솔어플리케이션에서 컴퍼넌트 쓰는 방법...
DelChoBo
•
2002.12.27 20:53
pas에서와 동일합니다. uses에 해당 컴포넌트에 관련된 파일을 추가해 주시고, var 부분에 선언, Create ...
델사랑
2002/12/28 07:40
Views
225
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
제가 예전에 사용한 소규모 MDB 를 압축하고 복구했던 방법입니다.
참고하시고 항상 즐거운 프로그래밍 하시길~~
=============================================================
function DatabaseCompact(const sdbName: WideString) : boolean;
var
JE : TJetEngine; //Jet Engine
sdbTemp : WideString; //TEMP database
sdbTempConn : WideString; //Connection string
const
SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=';
begin
Result:=False;
sdbTemp := ExtractFileDir(sdbName) +
'TEMP' +
ExtractFileName(sdbName);
sdbTempConn := SProvider + sdbtemp;
if FileExists(sdbTemp) then
DeleteFile(sdbTemp);
JE:= TJetEngine.Create(Application);
try
try
JE.CompactDatabase(SProvider + sdbName, sdbTempConn);
DeleteFile(sdbName);
RenameFile(sdbTemp, sdbName);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
end;
end;
procedure TForm1.btnCompactClick(Sender: TObject);
var
dbSrc : WideString;
dbDest : WideString;
const
SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=';
begin
dbSrc := SProvider + edSource.Text; //TEdit.Text - 압축될 MDB
dbDest := SProvider + edDest.Text;
if FileExists(edDest.Text) then
DeleteFile(edDest.Text);
CompactDatabase(dbSrc,dbDest);
end;
===============================================================