WinExec não consigo executar...

Delphi

07/12/2005

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\bd.GDB´´+ ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\bd.BAK´),1);


Max.sgj

Max.sgj

Curtidas 0

Respostas

Edilcimar

Edilcimar

07/12/2005

está faltando um espaço entre gdb e aspas


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

está faltando um espaço entre gdb e aspas


Coloquei espaço mais não funcionou...


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

o gbak está no mesmo diretório do executável, ou em um diretório do path?


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

o gbak está no mesmo diretório do executável, ou em um diretório do path?


Não


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

o gbak está no mesmo diretório do executável, ou em um diretório do path?


Mas o WinExec e para criar o arquivo BAK


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

eu sei, mas se o seu programa está em c:\meuprograma e o gbak está em c:\firebird, ele não vai achar nunca


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

eu sei, mas se o seu programa está em c:\meuprograma e o gbak está em c:\firebird, ele não vai achar nunca


Coloquei o arquivo GBAK junto com o banco de dados...


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

coloque o gback junto com o executável ou em c:\window\system ou c:\windows\system32 e depois dê o comando, veja este exemplo aqui ele funciona perfeitamente
Caminho := D:\ + Dia +´\´;
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore loja1\foto1.fdb ´´+ Caminho + ´foto1.bak´),1)


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Esta dando erro...

(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

depois do gdb vc fecho aspas, esqueceu o + e esqueceu de abrir aspa


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ + C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´´BD.bak´),1);

Não estou entendendo...


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

todo o contexto é uma string, tem que ficar entre aspas, vc só está colocando uma parte dentro de string olhe atentamente o que eu escrevi e verá que a única coisa que não está entre aspas é uma variável tipo string!


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

[quote=]WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ + C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´BD.bak´),1);



Está parando na segunda letra C:\


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

é string, string tem que ficar entre aspas


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Veja está igualzinho ao exemplo mas para na segunda letra C:\

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´+C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

não está, cadê a aspa, string tem que ficar entre aspas, coloque as aspas que aí funciona, por que é que vc tirou as aspas anteriores mudando ela de lugar, mais uma vez string tem que ficar entre aspas, caminho é string


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Consegui mas não está criando o arquivo...


WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´+´´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\´´+´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

Até que enfim!
O diretório existe?
O caminho do diretório está correto?
O nome do BD está correto?
Não tenho certeza, mas parece que o gback não aceita nomes de diretórios com espaço!


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Até que enfim! O diretório existe? O caminho do diretório está correto? O nome do BD está correto? Não tenho certeza, mas parece que o gback não aceita nomes de diretórios com espaço!


Vou mudar o arquivo de lugar para ver se funciona...


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Mudei para c:\ mas só aparece a janela do DOS repetidamente e o arquivo não é criado...

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´+´´C:\´´+´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

mais uma vez
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore loja1\foto1.fdb ´´+ caminho +´foto1.bak´),1)
é aspa simples, depois aspa dupla com aspa simples de pois aspa simples e por ultimo aspa simples
se vc não usa uma variável tipo string tire as aspas do meio e deixe
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore c:\meuprograma\meubd.fdb c:\meuprograma\meubd.bak´),1)


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Está dando erro...


WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´´+C:\+´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

veja o meu ultimo exemplo e tire as aspas


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Da erro parando na segunda letra c:\

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´+C:\+´BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

veja o meu ultimo exemplo e tire as aspas



GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Executou mas não criou... o arquivo

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB +C:\+BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

eu não vi nenhum + no meu exemplo


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Rodou mais não criou o arquivo...

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB C:\+BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

mas agora está quase certo! só continua sobrando um +, mostre-me onde está o + no meu último exemplo!


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Executa mas não cria o arquivo...

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB C:\BD.bak´),1);


GOSTEI 0
Edilcimar

Edilcimar

07/12/2005

agora está certo!!!!, se não está criando é porque não tem o arquivo de origem, o gback não está no path do windows ou do executável


GOSTEI 0
Max.sgj

Max.sgj

07/12/2005

Obrigado pela dica agora eu tenho que desfazer a confusão pois eu istalei FB 1.5 e esse banco foi com o FB 1.0 valeu até a próxima...


GOSTEI 0
POSTAR