Fórum BD corrompido como saber se está ou não.... #54437
29/12/2005
0
WinExec(Pchar(´gfix -v -full F5.FBD´),1);
Max.sgj
Curtir tópico
+ 0Posts
29/12/2005
Afarias
...vc tem q obter o output do GFIX e sendo assim algo como CreateProcess seria uma opçõa adequada.
Uma outra opção (que não usa o GFIX) é usar a ServicesAPI -- vc pode usar um componente como IBValidationService (IBX) em lugar do GFIX
T+
Gostei + 0
29/12/2005
Max.sgj
Estou utilizando Delphi 5 não tem IBValidationService
Gostei + 0
29/12/2005
Max.sgj
Gostei + 0
29/12/2005
Max.sgj
Gostei + 0
29/12/2005
Afarias
tem sim, basta vc atualizar o IBX
|Nunca utilizei CreateProcess, como se utiliza?
se bem me lembro, existem alguns exemplos no site da ClubeDelphi
|Como utiliza o IBValidationService1
ex:
var S: string; begin Memo1.Lines.Clear; // 1 memo no form with IBValidationService1 do begin ServerName := ´localhost´; Protocol := TCP; DatabaseName := ´SeuBanco.IB´; Params.Values[´user_name´] := ´sysdba´; Params.Values[´password´] := ´masterkey´; LoginPrompt := False; Active := True; // todas as propriedades acima podem ser preenchidas // em tempo de projeto try Options := [ValidateDB, ValidateFull]; // gfix -v -f ServiceStart; S := GetNextLine; if S = EmptyStr then Memo1.Lines.Add(´arquivo ok´) else repeat Memo1.Lines.Add(S); S := GetNextLine; until (S = EmptyStr); finally Active := False; end; end; end;
T+
Gostei + 0
29/12/2005
Max.sgj
Cannot perform operation --service is attached.
Gostei + 0
29/12/2005
Afarias
se estiver dando RUN no Delphi, certifíque-se que o componente não está ativo em tempo de projeto
T+
Gostei + 0
29/12/2005
Max.sgj
Está tudo como false mas a mensagem continua...
Gostei + 0
29/12/2005
Max.sgj
Gostei + 0
29/12/2005
Afarias
T+
Gostei + 0
29/12/2005
Max.sgj
Gostei + 0
29/12/2005
Afarias
T+
Gostei + 0
29/12/2005
Max.sgj
Está escrito Firebird 1.5 Server Manager
Gostei + 0
29/12/2005
Max.sgj
É SuperServer...
Gostei + 0
29/12/2005
Afarias
...compile o programinha (com o código q passei) e antes de executá-lo de um shutdown na base usando:
gfix base.gdb -shut -force 0 -user sysdba -pass masterkey
depois de testar o programa coloque a base on-line novamente
gfix base.gdb -online -user sysdba -pass masterkey
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)