WinExec não consigo executar...
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
Curtidas 0
Respostas
Edilcimar
07/12/2005
está faltando um espaço entre gdb e aspas
GOSTEI 0
Max.sgj
07/12/2005
está faltando um espaço entre gdb e aspas
Coloquei espaço mais não funcionou...
GOSTEI 0
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
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
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
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
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
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)
Caminho := D:\ + Dia +´\´;
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore loja1\foto1.fdb ´´+ Caminho + ´foto1.bak´),1)
GOSTEI 0
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);
(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
07/12/2005
depois do gdb vc fecho aspas, esqueceu o + e esqueceu de abrir aspa
GOSTEI 0
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...
Não estou entendendo...
GOSTEI 0
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
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
07/12/2005
é string, string tem que ficar entre aspas
GOSTEI 0
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);
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
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
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);
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
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!
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
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
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);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´+´´C:\´´+´BD.bak´),1);
GOSTEI 0
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)
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
07/12/2005
Está dando erro...
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´´+C:\+´BD.bak´),1);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´´+C:\+´BD.bak´),1);
GOSTEI 0
Edilcimar
07/12/2005
veja o meu ultimo exemplo e tire as aspas
GOSTEI 0
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);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB ´´+C:\+´BD.bak´),1);
GOSTEI 0
Edilcimar
07/12/2005
veja o meu ultimo exemplo e tire as aspas
GOSTEI 0
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);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB +C:\+BD.bak´),1);
GOSTEI 0
Edilcimar
07/12/2005
eu não vi nenhum + no meu exemplo
GOSTEI 0
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);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB C:\+BD.bak´),1);
GOSTEI 0
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
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);
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\BD.GDB C:\BD.bak´),1);
GOSTEI 0
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
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