EXPORTAR BACK-UP MYSQL
Pessoal,
Estou usando codificação similar a este anexado para fazer back-up e restauração do back-up em um sistema, mas, há um problema sério que não consigo solucionar.
Tendo no banco uma campo [ô]Date[ô] no formato padrão yyyy/MM/dd, ao fazer o back-up, são salvos todos os dados, mas, os do campo [ô]Date[ô] ficam com o formato dd/MM/yyyy, isso é problemão, pois, ao restaurar o MySQL não reconhece o tipo de dados sendo como Date e os dados ficam 0000-00-00.
Alguem pode me ajudar?
Estou usando codificação similar a este anexado para fazer back-up e restauração do back-up em um sistema, mas, há um problema sério que não consigo solucionar.
Tendo no banco uma campo [ô]Date[ô] no formato padrão yyyy/MM/dd, ao fazer o back-up, são salvos todos os dados, mas, os do campo [ô]Date[ô] ficam com o formato dd/MM/yyyy, isso é problemão, pois, ao restaurar o MySQL não reconhece o tipo de dados sendo como Date e os dados ficam 0000-00-00.
Alguem pode me ajudar?
Olha, aparentemente o erro esta aqui:
If .Fields.Item(i).Type = 135 Then
strBuffer = Format(strBuffer, [Ô]yyyy-MM-dd hh:mm:ss[Ô])
End If
Não esta respeitando ou reconhecendo esse tipo 135.
Agora fica esperto, eu testei aqui, e esta jogando uns valores repetidos em alguns campos que deveria estar vazio.
exemplo:
[Ô]valor1[Ô],[Ô]valor2[Ô],[Ô]valor2[Ô],[Ô]valor2[Ô]
sendo que a coluna 3 e 4, estavam em branco, e ele repetiu o valor da coluna 2, na 3, e na 4
A forma de funcionamento dele é bem legal, mas eu não tenho confiança em utilizar, algo de terceiros para fazer
backup de bases, uma falha e sua vida pode virar um inferno, por isso chamo direto o mysqldump mesmo.
Não é possivel mostrar o desempenho em progresssbar, mas é mais confiavel.
If .Fields.Item(i).Type = 135 Then
strBuffer = Format(strBuffer, [Ô]yyyy-MM-dd hh:mm:ss[Ô])
End If
Não esta respeitando ou reconhecendo esse tipo 135.
Agora fica esperto, eu testei aqui, e esta jogando uns valores repetidos em alguns campos que deveria estar vazio.
exemplo:
[Ô]valor1[Ô],[Ô]valor2[Ô],[Ô]valor2[Ô],[Ô]valor2[Ô]
sendo que a coluna 3 e 4, estavam em branco, e ele repetiu o valor da coluna 2, na 3, e na 4
A forma de funcionamento dele é bem legal, mas eu não tenho confiança em utilizar, algo de terceiros para fazer
backup de bases, uma falha e sua vida pode virar um inferno, por isso chamo direto o mysqldump mesmo.
Não é possivel mostrar o desempenho em progresssbar, mas é mais confiavel.
Você possui um exemplo de como utilizar o mysqldump no vb6?
Eu utilizo no vb.net, mas não tem segredo.
no vb6, escreva e um arquivo .bat utilizando o print
mysqldump -h nomedohost -u root -p270763 -x nomedobanco > BK_BD.SQL move BK_BD.SQL c:\
o move salva onde vc indicar, root é o usuario p é a senha, a senha ai é 270763 o -x trava as tabelas enquanto o backup é feito
depois chame esse .bat pelo shell , não se esqueça de depositar o mysqldump na pasta raiz de seu sistema.
Isso é o basico, o resto vc utiliza sua imaginação.
no vb6, escreva e um arquivo .bat utilizando o print
mysqldump -h nomedohost -u root -p270763 -x nomedobanco > BK_BD.SQL move BK_BD.SQL c:\
o move salva onde vc indicar, root é o usuario p é a senha, a senha ai é 270763 o -x trava as tabelas enquanto o backup é feito
depois chame esse .bat pelo shell , não se esqueça de depositar o mysqldump na pasta raiz de seu sistema.
Isso é o basico, o resto vc utiliza sua imaginação.
O exemplo que fiz e postei para backup no mysql, na ocasião era para atender uma necessidade emergencial e lógicamente com base nas minhas necessidades.
No entanto se faz necessário uma total remodelagem do sistema para adequar a necessidade de quem o quiser utilizar.
Atualmente não utilizo mais este script. Implementei uma nova função em meu sistema que utiliza mysqlscript para restaurar o backup.
Um exemplo de utilização do mysqlscript está na dica que postei no seguinte link : http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9098
No entanto se faz necessário uma total remodelagem do sistema para adequar a necessidade de quem o quiser utilizar.
Atualmente não utilizo mais este script. Implementei uma nova função em meu sistema que utiliza mysqlscript para restaurar o backup.
Um exemplo de utilização do mysqlscript está na dica que postei no seguinte link : http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9098
O problema estava no formato de data do Windows está assim: dd/MM/yyyy, antes de realizar o backup altero o formato de data do windows para yyyy/MM/dd, ao finalizar retorno para o padrão.
Para alterar o formato de data do Windows usei:
Perfeito.
Para alterar o formato de data do Windows usei:
Private Const LOCALE_SSHORTDATE = &H1F
Private Declare Function GetSystemDefaultLCID Lib [Ô]kernel32[Ô] () As Long
Private Declare Function SetLocaleInfo Lib [Ô]kernel32[Ô] Alias [Ô]SetLocaleInfoA[Ô] (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
Private Sub Command1_Click()
Dim lngLocale As Long
lngLocale = GetSystemDefaultLCID()
If SetLocaleInfo(lngLocale, LOCALE_SSHORTDATE, [Ô]yyyy/MM/dd[Ô]) = False Then
Label1.Caption = [Ô]Houve um erro ao definir o formato de data ![Ô]
Else
Label1.Caption = [Ô]Formato de data atualizado com sucesso ![Ô]
End If
End Sub
Perfeito.
Tópico encerrado , respostas não são mais permitidas