BACKUP MYSQL

GUIGOR 15/08/2015 22:11:29
#450059
Boa noite amigos, estou com um grande problema, baixei um projeto aqui no site para fazer backup e restore do mysql sendo que quando vou fazer o restore esta dando erro:

[MySQL][ODBC 5.1 Driver][mysqld-5.5.15]MySQL server has gone away

o que eu observei foi que quando eu faço restore com poucos dados ele faz sendo que quando eu faço com esse backup que esta em anexo da erro.

desde ja muito obrigado.
DS2T 16/08/2015 04:32:13
#450071
Sendo sincero contigo cara, eu nem baixei o projeto porque estou sem o VB6 e sem o MySQL rodando na máquina.

Geralmente esse erro tá ligado a duas coisas: Tempo excedido ou Pacote muito grande de dados.

Se você envia uma quantidade exagerada de dados pro servidor e ela tem mais de 16MB, pode dar esse erro. 16MB é o limite máximo.

Mas o mais comum é quando demora muito para processar a query. Você pode aumentar o tempo limite usando a variável wait_timeout.

Outra coisa: Quando você vai executar uma query: abra a conexão, execute e depois feche. Esse é um dos problemas de manter a conexão aberta direto. Conexão ociosa pode dar esse tipo de coisa.

Espero que tenha ajudado!
GUIGOR 16/08/2015 14:40:12
#450087
eu ja aumentei o timiout para ate 1600 e nao adiantou

Function conex(cnn As ADODB.Connection, Optional banco As String) As Boolean
On Error Resume Next
Set bd = Nothing
bd.Close
Err.Clear
Set cnn = New ADODB.Connection
With cnn
If Len(banco) = 0 Then
.ConnectionTimeout = 1600
.CommandTimeout = 400
.CursorLocation = adUseClient
.Open [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & txservidor & [Ô];[Ô] _
& [Ô]Port=[Ô] & TxtPorta & [Ô];[Ô] _
& [Ô]UID=[Ô] & txtUser & [Ô];[Ô] _
& [Ô]PWD=[Ô] & txtSenha & [Ô];[Ô] _
& [Ô]Option=3;[Ô]



If .State = 1 Then
conex = True
Else
conex = False
USMsgBox [Ô]Não foi possivel se registrar no sistema!!![Ô], vbCritical, [Ô]Erro de Conexão[Ô]
End
End If
Else
.ConnectionTimeout = 1600
.CommandTimeout = 400
.CursorLocation = adUseClient
.Open [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & txservidor & [Ô];[Ô] _
& [Ô]Port=[Ô] & TxtPorta & [Ô];[Ô] _
& [Ô]Database=[Ô] & txtBanco & [Ô];[Ô] _
& [Ô]UID=[Ô] & txtUser & [Ô];[Ô] _
& [Ô]PWD=[Ô] & txtSenha & [Ô];[Ô] _
& [Ô]Option=3;[Ô]


If .State = 1 Then
conex = True
Else
conex = False
USMsgBox [Ô]Não foi possivel se registrar no sistema!!![Ô], vbCritical, [Ô]Erro de Conexão[Ô]
End
End If
End If
End With
End Function


e o erro continua ja to no desespero . kkkkk
GUIGOR 17/08/2015 22:15:36
#450158
amigos ninguem ?
DS2T 18/08/2015 01:14:14
#450164
Sobre seu código. Não entendi muito bem o motivo de ter feito desse jeito.
Você tenta duas vezes conectar? Se for assim, porque simplesmente não usa um loop? E porque usa a o objeto de conexão como parâmetro da função se você sempre instancia um novo dentro da função?

Enfim, vi aqui o seu projeto e ele tem um método chamado MySQLRestore no módulo. Provavelmente é ele que tá dando problema né?
Não executei porque não tenho o VB6, como te falei... Mas pelo que entendi do código, ele vai lendo o Script instrução por instrução e vai executando fazendo as substituições com os nomes dos bancos de dados.

Se o que penso está correto, a linha do erro é a : cnn.Execute strLinha

Certo?

Se for isso, dê uma olhada qual é a instrução está sendo executada na hora do erro. Copie ela e tente executar diretamente no MySLQ. Provavelmente o erro vai acontecer lá também. Deve ser alguma instrução nesse arquivo em especial que está dando pau. Um chute que eu daria é que esse arquivo tem alguma transação. Se tiver, recomendo que execute o lote de instruções da transação de uma só vez. Se não pode acontecer um desses erros.

Abraços!
Tópico encerrado , respostas não são mais permitidas