PROBLEMA EM UTILIZAR O SEVEFILEDIALOG NO BACKUP

PHELIPO 06/05/2015 12:43:48
#446422
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.

TUNUSAT 07/05/2015 08:31:52
#446445
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.
PHELIPO 07/05/2015 11:11:15
#446454
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
TUNUSAT 07/05/2015 14:04:55
#446458
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:
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.
PHELIPO 07/05/2015 16:51:52
#446461
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))

TUNUSAT 07/05/2015 17:04:16
#446463
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.
PHELIPO 07/05/2015 17:46:44
#446468
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
TUNUSAT 07/05/2015 21:40:35
#446469
PHELIPO,

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.


PHELIPO 08/05/2015 10:22:05
#446485
Bom dia Tunusat!
No DOS ele faz o Backup corretamente.
PHELIPO 08/05/2015 10:29:27
#446486
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).
TUNUSAT 08/05/2015 11:28:18
#446490
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.
Página 1 de 2 [12 registro(s)]
Faça seu login para responder