Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde
Estou com esse problema já há algum tempo, já entrei em contato com meu servidor (locaweb), mas ainda esse erro vem a me acontecer, o pior é que minha página por ser de vendas, quando fica 3 a 4 minutos fora do ar é um péssimo negócio. Gostaria de saber como poderia trapear esse erro usando asp.
Tipo, quando esse problema aparecesse a página seria automaticamente redirecionada a uma página explicativa da instabilidade do servidor.
o erro é:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.41--log]MySQL server has gone away
Gratos pela ajuda
Fábio
Xan,
Pode me explicar o que faz esse code? Isso pode render algo interessante.
esse erro eu ja tive e foi do banco junto ao servidor, é o buffer!
Vou testar, mas de boa pessoal , o que fará esse erro?? irá resetar a aplicação??
Caso possa me dar mais algumas dicas disso ae, agradeço.
De qq forma muito obrigado por ajudar
Você pode usar código ASP para redirecionar conexões com falha do ADO para um computador SQL Server backup no caso do computador SQL Server padrão usado fica offline. Usando esse código pode fornecer uma medida adicional de tolerância a falhas e além de outras falhas de tolerância, como clusters. Esse código não deve ser usado no lugar de uma solução de tolerantes a falhas true.Só que parece que funciona apenas no SQL Server.
Bom dia
Um detalhe interessante que devo comentar é que quando na página aparece aquele erro, o servidor mysql não está parado ou com erro, o mesmo está rodando normal, apenas a conexão via Asp para ele é que não funciona.
Como uso o Dreamweaver para fazer minhas páginas e entendo muito pouco do Asp, fiz umas alterações sugeridas por você acima que ficaram desse jeito:
<%
Dim MM_mysqlcatvi_STRING, MM_mysqlcatvi1_STRING
MM_mysqlxoom_STRING = "Driver={MySQL ODBC 3.51 Driver}; SERVER=mysql.xoom.com.br; DATABASE=xoom; UID=xxxx; PWD=xxxx;"
MM_mysqlxoom1_STRING = "Driver={MySQL ODBC 3.51 Driver}; SERVER=mysql.xoom.com.br; DATABASE=xoom; UID=xxxx; PWD=xxxx;"
on error resume next
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open MM_mysqlxoom_STRING
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = adCmdText
Set cmdTemp.ActiveConnection = conn
If Err.Number <> 0 Then
err.clear
MM_mysqlxoom_STRING = MM_mysqlxoom_STRING
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open MM_mysqlxoom_STRING
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = adCmdText
Set cmdTemp.ActiveConnection = conn
End if
%>
Aqui no caso só troquei o nome da conexão, não troquei para um servidor diferente.
Obrigado
Fábio
tenta isso se a conexão falhar:
on error resume next
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open MSCSSite.DefaultConnectionString
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = adCmdText
Set cmdTemp.ActiveConnection = conn
' Se a conexão ADO falhar, então check
'O número de erro, caso não seja igual a 0, e mudar
'O MSCSSite.DefaultConnectionString a uma das
'Conexão string no mscssite.connectionstringmap.
'Para os fins deste exemplo, a base de dados é o padrão
'SSCommerce e de backup é SSCommerce2
If Err.Number <> 0 Then
err.clear
mscssite.defaultconnectionstring = mcssite.connectionstringmap("SSCommerce2")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open MSCSSite.DefaultConnectionString
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = adCmdText
Set cmdTemp.ActiveConnection = conn
End if