BD corrompido como saber se está ou não....
Eu achei esta linha de comando para verificarse está corrompido ou não mas a janela do DOS aparece e some rapidamente e eu nem sei se esta corrompido ou não e quero fazer com que o sistema assim que reiniciace diagnostica-se o BD e se estiver corrompido tentará corrigilo automaticamente se a inservernção do usuário e desse uma mensagem se o BD esteja ainda corrompido.
WinExec(Pchar(´gfix -v -full F5.FBD´),1);
WinExec(Pchar(´gfix -v -full F5.FBD´),1);
Max.sgj
Curtidas 0
Respostas
Afarias
29/12/2005
WinExec não vai te ajudar nisso...
...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+
...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
Max.sgj
29/12/2005
WinExec não vai te ajudar nisso...
...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+
Estou utilizando Delphi 5 não tem IBValidationService
GOSTEI 0
Max.sgj
29/12/2005
Nunca utilizei CreateProcess, como se utiliza?
GOSTEI 0
Max.sgj
29/12/2005
Como utiliza o IBValidationService1
GOSTEI 0
Afarias
29/12/2005
|Estou utilizando Delphi 5 não tem IBValidationService
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:
T+
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
Max.sgj
29/12/2005
Esta dando a mensagem de erro...
Cannot perform operation --service is attached.
Cannot perform operation --service is attached.
GOSTEI 0
Afarias
29/12/2005
lembre-se q para validar a base não pode haver outras conexões no banco.
se estiver dando RUN no Delphi, certifíque-se que o componente não está ativo em tempo de projeto
T+
se estiver dando RUN no Delphi, certifíque-se que o componente não está ativo em tempo de projeto
T+
GOSTEI 0
Max.sgj
29/12/2005
lembre-se q para validar a base não pode haver outras conexões no banco.
se estiver dando RUN no Delphi, certifíque-se que o componente não está ativo em tempo de projeto
T+
Está tudo como false mas a mensagem continua...
GOSTEI 0
Max.sgj
29/12/2005
Eu não sei utilizar este componente preciso de ajuda...
GOSTEI 0
Afarias
29/12/2005
Qual a versão do Interbase/Firebird Server? e é SuperServer ou Classic?
T+
T+
GOSTEI 0
Max.sgj
29/12/2005
Ferebird 1.5.2.4731
GOSTEI 0
Afarias
29/12/2005
Classic ou SS ?
T+
T+
GOSTEI 0
Max.sgj
29/12/2005
Classic ou SS ?
T+
Está escrito Firebird 1.5 Server Manager
GOSTEI 0
Max.sgj
29/12/2005
Qual a versão do Interbase/Firebird Server? e é SuperServer ou Classic?
T+
É SuperServer...
GOSTEI 0
Afarias
29/12/2005
só pra ter certeza...
...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+
...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
Max.sgj
29/12/2005
só pra ter certeza...
...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
T+
Esta dando erro parando na palavra Gfix
WinExec(Pchar(gfix F5.FDB -shut -force 0 -user sysdba -pass masterkey)1,);
GOSTEI 0
Afarias
29/12/2005
vc não pode testar isso no prompt de comando não?
:roll:
T+
:roll:
T+
GOSTEI 0
Max.sgj
29/12/2005
vc não pode testar isso no prompt de comando não?
:roll:
T+
Então como é que eu testo...
GOSTEI 0
Max.sgj
29/12/2005
Já fiz em modo DOS e não aconteceu nada...
GOSTEI 0
Afarias
29/12/2005
|Já fiz em modo DOS e não aconteceu nada...
então parece q está tudo OK?!
T+
então parece q está tudo OK?!
T+
GOSTEI 0
Max.sgj
29/12/2005
|Já fiz em modo DOS e não aconteceu nada...
então parece q está tudo OK?!
T+
Oque eu faço agora...
GOSTEI 0
Afarias
29/12/2005
|Oque eu faço agora...
eu aconselho por os espumantes e vinhos no refrigerador, começar a falar com os amigos e parentes e preparar o espírito para o novo ano que está iniciando.
;-)
Aproveito pra desejar aqui um FELIZ ANO NOVO a todos os colegas!!
T+
eu aconselho por os espumantes e vinhos no refrigerador, começar a falar com os amigos e parentes e preparar o espírito para o novo ano que está iniciando.
;-)
Aproveito pra desejar aqui um FELIZ ANO NOVO a todos os colegas!!
T+
GOSTEI 0
Max.sgj
29/12/2005
|Oque eu faço agora...
eu aconselho por os espumantes e vinhos no refrigerador, começar a falar com os amigos e parentes e preparar o espírito para o novo ano que está iniciando.
;-)
Aproveito pra desejar aqui um FELIZ ANO NOVO a todos os colegas!!
T+
Feliz Ano Novo também e a té segunda...
GOSTEI 0
Max.sgj
29/12/2005
Já foi testado co gfix e agora oque eu devo fazer....
GOSTEI 0
Afarias
29/12/2005
ASSIM q derrubar as conexões teste seu programinha!!!
para por a base on-line novamente use::
gfix base.gdb -online -user sysdba -pass masterkey
T+
para por a base on-line novamente use::
gfix base.gdb -online -user sysdba -pass masterkey
T+
GOSTEI 0
Max.sgj
29/12/2005
ASSIM q derrubar as conexões teste seu programinha!!!
para por a base on-line novamente use::
gfix base.gdb -online -user sysdba -pass masterkey
T+
Ja fix esse comando e agora...
GOSTEI 0
Afarias
29/12/2005
|Ja fix esse comando e agora...
e agora o q? não conseguiu o q queria?
T+
e agora o q? não conseguiu o q queria?
T+
GOSTEI 0
Max.sgj
29/12/2005
Farias está dando a mensagem...
1: Cannot perform operation --- sevice is attached.
1: Não possa executar operação--- sevice é fixo.
1: Cannot perform operation --- sevice is attached.
1: Não possa executar operação--- sevice é fixo.
GOSTEI 0