rjsma Posted December 23, 2009 at 06:20 PM Report Share #302123 Posted December 23, 2009 at 06:20 PM boas tou a fazer um programa em que gostava de poder fazer o backup da bd e depois poder restaurar alguem pode ajudar me nisto sff PS: a bd é em mysql cumps 😁 Link to comment Share on other sites More sharing options...
apocsantos Posted December 24, 2009 at 07:27 PM Report Share #302290 Posted December 24, 2009 at 07:27 PM shell("C:\xampp\mysql\bin\mysqldump --opt --password=pass -user=root --database tua_bd -r c:\tuabd.sql") Atenção que o exemplo acima faz o backup mas não o encripta nem zipa nem nada. É apenas um exemplo para veres como funciona. Com mais calma modifico uma rotina de backup e restore e ponho-ta cá. Para já puxa um bocadinho pela broa que eu vou à janta! 😁 Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 25, 2009 at 03:05 PM Author Report Share #302360 Posted December 25, 2009 at 03:05 PM comio disseste este exemplo nao grava em formato zip mas nao permite escolher a directoria onde vou querer gravar a bd vai logo gravar no C:\xampp\mysql\bin\mysqldump obrigado na mesma cumps 😁 Link to comment Share on other sites More sharing options...
apocsantos Posted December 25, 2009 at 05:57 PM Report Share #302383 Posted December 25, 2009 at 05:57 PM Como é que fizeste isso?? Ele devia ter feito o dump da tuabd para c:\tuabd.sql Não percebi a logica. Qualquer parametro da linha que de codigo que te indiquei pode ser passado como variaveis do tipo string, só precisa de um bocadinho de engenho e consegues fazer o backup para onde quizeres. Se tiver tempo logo ainda coloco as rotinhas de backup e restore que uso. (É só o trabalho de as modificar um pouco) Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 25, 2009 at 09:17 PM Author Report Share #302404 Posted December 25, 2009 at 09:17 PM para fazer o backup tenho alguma nocao do que e preciso fazer mas depois para restaurar bd, estou as aranhas cumps 😁 Link to comment Share on other sites More sharing options...
apocsantos Posted December 25, 2009 at 10:32 PM Report Share #302412 Posted December 25, 2009 at 10:32 PM shell("C:\xampp\mysql\bin\mysql -u=root -p=password tuabd < c:\tuabd.sql") Assim já ficas com uma ideia. Ainda não tive 5 minutos para vir para aqui, modificar as sub's para as disponibilizar. Hoje tá a ser um dia de cão 😞 Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 12:13 PM Author Report Share #302541 Posted December 27, 2009 at 12:13 PM fiz uma coisa assim mas nao me esta a fazer o backup aparece sempre a mensagem(Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema) Dim conexao As New MySqlConnection("server=127.0.0.1;user id=Administrador;password=programa;database=programa") Dim comando As New MySqlCommand() comando.Connection = conexao Try comando.CommandText = "BACKUP DATABASE programa to Disk = " & "C:" + "\programa.SQL" & "" conexao.Open() comando.ExecuteNonQuery() conexao.Close() MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema.", MsgBoxStyle.Information, "Erro") End Try End Sub cumps 😞 Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 01:22 PM Report Share #302552 Posted December 27, 2009 at 01:22 PM try shell("C:\xampp\mysql\bin\mysqldump --opt --password=pass -user=root --database tua_bd -r c:\tuabd.sql") MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema.", MsgBoxStyle.Information, "Erro") End Try End Sub Não percebi bem a tua sub, ela basicamente devia executar um comando SQL mas não executa nada. abre uma connecção a instrução SQL não é reconhecida, ele lança a excepção e dá erro, sem sequer fechar a connecção. Como estavas a pensar fazer o backup?? Por shell comand o codigo fica semelhante ao que te deixei acima. Vou tentar ainda hoje por cá uma sub de backup e uma de restore, mas isto deve dar para veres como fazer backup da BD. Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 01:51 PM Author Report Share #302558 Posted December 27, 2009 at 01:51 PM ja consegui fazer o backup mas vai gravar sempre no c: a minha intencao era poder escolher a directoria onde guardar o backup cumps 😞 Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 02:00 PM Report Share #302559 Posted December 27, 2009 at 02:00 PM Passas a path como uma variavel de texto. Vê este exemplo, foi escrito à pressa não tive tempo de o testar. Isto de estar com uma mão no teclado outra no garfo não tem assunto 😞 dim dbbckpath as string dim shellcomand as string try shellcomand = "C:\C:\xampp\mysql\bin\mysqldump --opt --password=pass -user=root --database tua_bd -r " & path & " ") " MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema.", MsgBoxStyle.Information, "Erro") End Try End Sub Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 02:14 PM Author Report Share #302561 Posted December 27, 2009 at 02:14 PM desculpa a minha ignorancia mas onde esta dbbckpath nao devia ser path? porque nao vejo onde vou utilizar variavel dbbckpath e o path nao foi declarado cumps 😞 Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 02:24 PM Report Share #302563 Posted December 27, 2009 at 02:24 PM como vais executar um comando externo via shell tens duas path a path até ao comando que vais executar no caso: C:\xampp\mysql\bin\mysqldump existe um par de erros por descuido meu. Abaixo deixo o codigo devidamente corrigido. E a path de onde vai ficar o ficheiro com o backup que essa é definida pela variavel bdbckpath. No codigo que deixo agora tens isso devidamente corrigido e documentado, atenção que eu atribuo o valor "c:\backup\tua_db.sql" à variavel dbbckpath, apenas por exemplo, esse valor pode vir de qualquer outro sitio. dim dbbckpath as string dim shellcomand as string dbbckpath = "c:\backup\tua_db.sql" try shellcomand = "C:\xampp\mysql\bin\mysqldump --opt --password=pass -user=root --database tua_bd -r " & bdbckpath & " ") " Shell (shellcomand) MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema.", MsgBoxStyle.Information, "Erro") End Try End Sub Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 02:38 PM Author Report Share #302567 Posted December 27, 2009 at 02:38 PM assim vai continuar a gravar sempre no mesmo sitio,queria que o utilizador do programa podesse escolher o sitio cumps 😞 Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 02:59 PM Report Share #302574 Posted December 27, 2009 at 02:59 PM Agora puxa pela cabeça.... Ele vai gravar na path que está no valor da variavel dbbckpath ou seja c:\backup\tua_db.sql Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim path As String FolderBrowserDialog1.ShowDialog() path = FolderBrowserDialog1.SelectedPath MsgBox(path, MsgBoxStyle.DefaultButton1, AcceptButton) End Sub Camarada um bocadinho de estudo e tinhas feito tu isto 😞 Vá o google é um gajo muita fixe! 😉 Aqui tens o exemplo de uma sub que te deixa navegar entre todos os directorios possiveis para escolheres o directorio onde queres gravar o backup. Agora puxa um bocadinho pela mona! Qualquer duvida diz 😉 Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 03:27 PM Author Report Share #302586 Posted December 27, 2009 at 03:27 PM tens toda a razao, se tivesse feito um bocadinho de pesquisa provavelmente conseguia ter feito desculpa, tenho andado com um bocado de preguiça cumps 😞 Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 05:20 PM Report Share #302612 Posted December 27, 2009 at 05:20 PM Não tens nada que pedir desculpa... eu estava resingão porque estava a almoçar 😉 Tive de fazer aquela sub à pressa... com a pizza numa mão e o teclado na outra.... Não fui pesquizar, apenas puxei um bocadinho pela tola, e conclui que o objectivo era poder andar na arvore de directorios e escolher um, assim puxei um componente FolderBrowserDialog, e depois foi quase intuitivo. Se entretanto acabares uma rotina funcional coloca cá 😞 Assim o resto do pessoal pode consultar. Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 05:37 PM Author Report Share #302618 Posted December 27, 2009 at 05:37 PM tenho quase pronto ,so esta a dar problemas em criar o ficheiro fisicamente Dim shellcomand As String Dim dbbckpath As String Dim path As String FolderBrowserDialog1.ShowDialog() path = FolderBrowserDialog1.SelectedPath dbbckpath = path + " ginasio.sql" Try shellcomand = "C:\xampp\mysql\bin\mysqldump --opt --password=ginasio -user=Administrador --database ginasio -r " & dbbckpath & ")" Shell(shellcomand) MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Erro ao fazer cópia de segurança.Tente novamente, se o erro persistir reinicie o sistema.", MsgBoxStyle.Information, "Erro") End Try End Sub Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 06:09 PM Report Share #302627 Posted December 27, 2009 at 06:09 PM Dependendo da versão do windows que estiveres a utilizar o windows tem "algumas dores de barriga" no que diz respeito a gravar em determinados directorios. nomeadamente em C:\, C:\programas, c:\windows ... e por aí fora. Experimenta gravar por exemplo para uma pen-drive, e coloca cá o erro que ele te está a dar ou uma imagem do erro. Cumprimentos e parabens pelo codigo, aprendes-te rapido 😞 P.S. Começa a colocar o codigo colorido, colocando no tag code o seguinte code=vbnet "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
rjsma Posted December 27, 2009 at 06:19 PM Author Report Share #302631 Posted December 27, 2009 at 06:19 PM nao me esta a dar nenhum erro,escolho a directoria e nao cria o ficheiro, calculo que seja aqui que esta a dar problemas dbbckpath = path + " ginasio.sql" Link to comment Share on other sites More sharing options...
apocsantos Posted December 27, 2009 at 06:25 PM Report Share #302634 Posted December 27, 2009 at 06:25 PM Tinhas um espaço a mais Instrução corrigida: dbbckpath = path + "ginasio.sql" A tua instrução: dbbckpath = path + " ginasio.sql" Se comparares as duas vais ver que tems " ginasio.sql" ou seja se juntares toda a string ficas com por exempo "e:\backups\ ginasio.sql " o espaço antes do nome é que está a causar os problemas. Cumprimentos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now