똑같이 해봤는데(패스만 제 디비의 패스로 바꿨습니다)... 잘 되는데요.
안되신다면, 두가지 가능성이 있을 듯.
BACKUP 디렉토리가 이미 존재하는가요? 없을 수도 있다면 중간에 ForceDirectories() 같은 호출로 디렉토리를
생성하도록 하는 라인이 필요할 듯.
그리고... 파이어버드의 bin 디렉토리가 패스에 걸려있는지요. 패스에 걸려있지 않다면 패스로 추가하든지, 아니면
WinExec() 호출시 gbak의 전체 경로를 명시해주어야 할 겁니다.
그럼...
푸른솔 님이 쓰신 글 :
: FB를 백업받을려고 다음과 같이 했습니다.
:
: RootDir := 'C:\Program Files\PineTree\CM';
: SourceDir := RootDir + '\DATA\CONTRACT.FDB';
: TargetDir := Rootdir + '\BACKUP\CONTRACT.FBK';
:
: Command := 'gbak -b ' + SourceDir + ' ' + TarGetDir + ' -user sysdba -password masterkey';
: if WinExec(PChar(Command), SW_HIDE) < 32 then
: ShowMessage('에러 발생...');
:
: 에러는 발생되지 않습니다. 그러나 백업파일이 TargetDir에 전혀 생성되지 않네요..
: SellExecute로도 해 봤으나 결과는 마찬가지입니다.
: 도스 프롬프트에서 위의 명령어를 직접 입력하면 이것은 잘 됩니다.
: 프로그램내에서는 왜 안되는지 모르겠습니다.
:
: 하도 안돼서 IBBackupServiece를 이용해 볼려고
: 먼저 자료실에 있는 최신버전의 IBXDP708버전을 설치를 했습니다.
: 그런데 Interbase Admin 콤포넌트 탭이 사라졌습니다.
: 무엇을 더 설치를 해 줘야 되는 것이 있는지요?
: (c:\Windows\system32 폴더 밑에 있는 IBxpress73.bpl를 등록하면 될까 해서 해 봤더니
: 이 BPL은 등록이 안되네요...)
:
: 해매다가 이렇게 질문을 올려 봅니다.
: 백업에 대한 조언을 부탁드립니다.
:
: FB2.0 + Delphi 7입니다.
|