PROBLEMA EM UTILIZAR O SEVEFILEDIALOG NO BACKUP
Boa tarde Pessoal!
Estou precisando de uma ajuda. Estou com um problema em utilizar o SeveFileDialog para fazer backup no firebird.
O backup não vem no arquivo que coloquei o nome, este arquivo salva zerado, o backup salva em um arquivo com o nome da classe System.io.StreamWriter, ai o Backup vem corrompido.
Na propriedade Filter do SeveFileDialog ficou assim:Arquivo de Backup(*.fdb)|*.fdb
Será se a classe System.io.StreamWriter estar correta para o SeveFileDialog ou existe outra classe?
O código estar em anexo.
Quem poder me ajudar eu agradeço.
Estou precisando de uma ajuda. Estou com um problema em utilizar o SeveFileDialog para fazer backup no firebird.
O backup não vem no arquivo que coloquei o nome, este arquivo salva zerado, o backup salva em um arquivo com o nome da classe System.io.StreamWriter, ai o Backup vem corrompido.
Na propriedade Filter do SeveFileDialog ficou assim:Arquivo de Backup(*.fdb)|*.fdb
Será se a classe System.io.StreamWriter estar correta para o SeveFileDialog ou existe outra classe?
O código estar em anexo.
Quem poder me ajudar eu agradeço.
PHELIPO,
Por favor, disponibilize o código. Colocar uma foto do códio dificulta aqui.... precisamos digitá-lo, sacou?
Copie e cole o código dentro de um [Ô]</>[Ô] (botáo no menu acima).
[][ô]s,
Tunusat.
Por favor, disponibilize o código. Colocar uma foto do códio dificulta aqui.... precisamos digitá-lo, sacou?
Copie e cole o código dentro de um [Ô]</>[Ô] (botáo no menu acima).
[][ô]s,
Tunusat.
Try
SaveFileDialog1.ShowDialog()
Caminho = SaveFileDialog1.FileName
Dim BackupDestino As New StreamWriter(Caminho)
[ô]Recebe o caminho que estar no xml na pasta do prjeto
OrigemBackup = My.Settings.CaminhoBackupOrigem
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, BackupDestino))
MessageBox.Show([Ô]Backup do Sistema Efetuado com Sucesso[Ô], [Ô]Backup Concluido![Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
[ô]Messagem de erro
MessageBox.Show(ex.Message, [Ô]Não Foi Possivel Fazer o Backup, Informe ao Suporte![Ô])
End Try
SaveFileDialog1.ShowDialog()
Caminho = SaveFileDialog1.FileName
Dim BackupDestino As New StreamWriter(Caminho)
[ô]Recebe o caminho que estar no xml na pasta do prjeto
OrigemBackup = My.Settings.CaminhoBackupOrigem
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, BackupDestino))
MessageBox.Show([Ô]Backup do Sistema Efetuado com Sucesso[Ô], [Ô]Backup Concluido![Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
[ô]Messagem de erro
MessageBox.Show(ex.Message, [Ô]Não Foi Possivel Fazer o Backup, Informe ao Suporte![Ô])
End Try
PHELIPO,
Pelo que eu estou vendo, você usa um [Ô]Shell[Ô] para disparar um comando chamado GBak, que é um programa de backup do Firebird (http://www.destructor.de/firebird/gbak.htm).
Você usa as variáveis [Ô]OrigemBackup[Ô] e [Ô]BackupDestino[Ô] somente para dizer qual será a caminho e nome da pasta origem e o caminho e nome da pasta destino.
O caminho de origem você tem fixo, provavelmente em um arquivo [Ô]app.Config[Ô].
Eu entendi que isto está certo:
Você não pode fazer somente isto?
O próprio [Ô]GBak[Ô] vai se encarregar de gravar.
Tipo... Se você fizer isto (abaixo, vai pegar a propriedade defalult de [ô]BackupDestino[ô].
Que provavelmente é o nome da classe.
[][ô]s,
Tunusat.
Pelo que eu estou vendo, você usa um [Ô]Shell[Ô] para disparar um comando chamado GBak, que é um programa de backup do Firebird (http://www.destructor.de/firebird/gbak.htm).
Você usa as variáveis [Ô]OrigemBackup[Ô] e [Ô]BackupDestino[Ô] somente para dizer qual será a caminho e nome da pasta origem e o caminho e nome da pasta destino.
O caminho de origem você tem fixo, provavelmente em um arquivo [Ô]app.Config[Ô].
Eu entendi que isto está certo:
Caminho = SaveFileDialog1.FileName
Você não pode fazer somente isto?
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, Caminho))
O próprio [Ô]GBak[Ô] vai se encarregar de gravar.
Tipo... Se você fizer isto (abaixo, vai pegar a propriedade defalult de [ô]BackupDestino[ô].
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, BackupDestino))
Que provavelmente é o nome da classe.
[][ô]s,
Tunusat.
Boa tarde Tunusat!
Tentei fazer como você disse sem a classe, portanto o backup não processado, o comando GBak não foi disparado.
Dim Caminho as string
Caminho = SaveFileDialog1.FileName
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, Caminho))
Tentei fazer como você disse sem a classe, portanto o backup não processado, o comando GBak não foi disparado.
Dim Caminho as string
Caminho = SaveFileDialog1.FileName
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, Caminho))
Mas PHELIPO,
Certifique-se que as variáveis:
- OrigemBackup;
- Caminho;
Tenham seus conteúdos preenchidos.
Faça um break-point nesta linha e ao rodar verifique o que tem dentro destas variáveis.
[][ô]s,
Tunusat.
Certifique-se que as variáveis:
- OrigemBackup;
- Caminho;
Tenham seus conteúdos preenchidos.
Faça um break-point nesta linha e ao rodar verifique o que tem dentro destas variáveis.
[][ô]s,
Tunusat.
Dim Caminho as string
Caminho = SaveFileDialog1.FileName
OrigemBackup = My.Settings.CaminhoBackupOrigem
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, Caminho))
usando o código acima no break-point vem assim
Variavel CAMINHO (Destino)
C:\Documents and Settings\Pedro\Desktop\BACKUP07-05-15.fdb
Variavel OrigemBackup(Origem)
c:\BANCO\banconet.FDB
Caminho = SaveFileDialog1.FileName
OrigemBackup = My.Settings.CaminhoBackupOrigem
Shell(String.Format([Ô]gbak.exe -backup -v -user SYSDBA -password masterkey {0} {1}[Ô], OrigemBackup, Caminho))
usando o código acima no break-point vem assim
Variavel CAMINHO (Destino)
C:\Documents and Settings\Pedro\Desktop\BACKUP07-05-15.fdb
Variavel OrigemBackup(Origem)
c:\BANCO\banconet.FDB
PHELIPO,
Se você digitar a linha abaixo no prompt do DOS sem executar o programa funciona corretamente?
[][ô]s,
Tunusat.
Se você digitar a linha abaixo no prompt do DOS sem executar o programa funciona corretamente?
C:\gbak.exe -backup -v -user SYSDBA -password masterkey C:\Documents and Settings\Pedro\Desktop\BACKUP07-05-15.fdb c:\BANCO\banconet.FDB
[][ô]s,
Tunusat.
Bom dia Tunusat!
No DOS ele faz o Backup corretamente.
No DOS ele faz o Backup corretamente.
Será se o problema não estar na maneira que estou usando essa classe Dim BackupDestino As New StreamWriter(Caminho)
Porque ele estar salvando o backup com o nome da classe (System.io.StreamWriter).
Porque ele estar salvando o backup com o nome da classe (System.io.StreamWriter).
Bom dia PHELIPO,
Sim ... eu também estou estranhando muito isso.
Eu entendo que no caso do [ô]Shell[ô] você não precisa do [ô]StreamWriter[ô], pois o próprio [ô]gbak[ô] fará o serviço de gravação por fora do seu código, como se fosse uma caixa-preta. Você só precisa passar o caminho de origem e o caminho de destino para o [ô]gbak[ô] e ele faz todo o serviço.
Na outra mensagem não entendi porque o comando [ô]gbak[ô] não foi disparado, já que ele está igualzinho o que foi digitado no DOS, é só uma linha de comando disparada pelo [ô]Shell[ô].
Desculpe, fiquei sem ideias agora.
[][ô]s,
Tunusat.
Sim ... eu também estou estranhando muito isso.
Eu entendo que no caso do [ô]Shell[ô] você não precisa do [ô]StreamWriter[ô], pois o próprio [ô]gbak[ô] fará o serviço de gravação por fora do seu código, como se fosse uma caixa-preta. Você só precisa passar o caminho de origem e o caminho de destino para o [ô]gbak[ô] e ele faz todo o serviço.
Na outra mensagem não entendi porque o comando [ô]gbak[ô] não foi disparado, já que ele está igualzinho o que foi digitado no DOS, é só uma linha de comando disparada pelo [ô]Shell[ô].
Desculpe, fiquei sem ideias agora.
[][ô]s,
Tunusat.
Faça seu login para responder