OS MYSQL DE PLANTAO

VILANOVA 03/01/2011 21:55:19
#361007
Amigos mysql de plantão, vejam só, trabalho com banco de dados on line, tenho uma hospedagem.. tudo bunitinho, creio alguns de vcs tambem, pergunto o seuginte para vcs.. como vs(a) estao fazendo com relação ao timeout do banco? tipo.. se a minha internet cai, a minha conexao vai para o saco tb.. como vcs estao tratando isso? quando da o timeout, a mensagem de erro.. vcs tratam diretamente a mensagem?
JESUEL.OLIVEIRA 03/01/2011 22:15:21
#361009
Amigo, eu não tenho problemas de timeout pois eu conecto e desconecto do BD, minhas SQLs são bem compactas ou seja nunca uso SELECT * FROM só trago o necessário.
VILANOVA 04/01/2011 12:33:56
#361052
Entendi de certa forma, entao vc ta dizendo que.. se eu so conectar no banco, carregra meus rs, preencher os componentes que preciso e depois destruir os rs mais a conexao resolve meu problema? ou seja, ele nao vai dar timeout entao pela logica nao ne.. pois se vc ja tem todas informacoes na tela.. agora pergunto o seguinte.. com os componentes complemtante desconectados, nao fica lento quando tem que se reconectar nao? tipo.. a reconexao não e demorada nao?
LROSSI 04/01/2011 12:47:28
#361054
tecnicamente, a demora se dá nos blocos de código onde é efetuada a conexão, mas se vc conectar, carregar aas informações na tela e desconectar, o usuário não perceberá a diferença de tempo entre as 2 formas de código, e sendo que esta, é a forma mais [Ô]garantida[Ô] digamos assim, de se trabalhar com banco de dados on-line. vc tbm pode fazer um tratamento em seu código que, caso detecte a desconexão do banco, efetue uma nova conexão.

espero ter ajudado.
JANDER 04/01/2011 14:24:16
#361064
Eu trabalho do seguinte modo.

eu abro minha conexão e depois para não perde a conexao com timeout de 15 s criei uma sql(select 1) no timer que fica no form principal. com isso ele ele sempre fica pingando no servidor web, e com essa sql informada não pesa nada o sistema.


coloca o timer para roda em 14 a 14 seg.

ve se da para entender a explicação.
XXXANGELSXXX 04/01/2011 17:09:55
#361081
Resposta escolhida
  
Public Function ConectaBD(ByVal VlOper As Boolean)
On Error GoTo ErrorLine
If VlOper = True Then
DoEvents
Set CNN = New Connection
SERVIDOR = [Ô][Ô] & ReadINI([Ô]Conexao[Ô], [Ô]SERVIDOR[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
BASEDEDADOS = [Ô][Ô] & ReadINI([Ô]Conexao[Ô], [Ô]BancoDeDados[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
PORTA = [Ô][Ô] & ReadINI([Ô]Conexao[Ô], [Ô]PORTA[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
USUARIO = [Ô][Ô] & ReadINI([Ô]Conexao[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
DCSENHA = [Ô][Ô] & ReadINI([Ô]Conexao[Ô], [Ô]SENHA[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
SENHA = [Ô][Ô] & Cr.Descripitografia(DCSENHA)
SSTR = [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BASEDEDADOS & [Ô];[Ô] _
& [Ô]UID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]OPTION=[Ô] & 1 + 2 + 8 + 32 + 2048 + 16384
With CNN
.CursorLocation = adUseClient
.ConnectionString = SSTR
.Open SSTR
End With
Else
ConectaBD True
If CNN.State = 1 Then CNN.Close
Set CNN= Nothing
End If
Exit Function
ErrorLine:
MsgError
End Function


Toda abertura de funçao que necessitar consultar o banco de dados digite
ConectaBD TRUE

e no final digite
ConectaBD FALSE
VILANOVA 04/01/2011 17:57:49
#361088
Citação:

:
Eu trabalho do seguinte modo.

eu abro minha conexão e depois para não perde a conexao com timeout de 15 s criei uma sql(select 1) no timer que fica no form principal. com isso ele ele sempre fica pingando no servidor web, e com essa sql informada não pesa nada o sistema.


coloca o timer para roda em 14 a 14 seg.

ve se da para entender a explicação.

Jander, até entendi, mas como vai ser a query que vou fazer?
JANDER 04/01/2011 18:24:12
#361089
então meu camarada, a query é essa mesmo que passei

dim sql as string
sql= [Ô]select 1[Ô]
coloca ela dentro do timer..

com esse query a consulta não fica pesada nunca. heheh
VILANOVA 04/01/2011 19:08:49
#361098
Citação:

:
então meu camarada, a query é essa mesmo que passei

dim sql as string
sql= [Ô]select 1[Ô]
coloca ela dentro do timer..

com esse query a consulta não fica pesada nunca. heheh

rsrsrs.. nao entendi essa select sua .. ou seja, é uma select buscando uma menor tabela por exemplo??? entao se eu executar essa query eu nao preciso ficar abrindo e fechando banco a cada consulta .. concordam?
MARCELO.TREZE 04/01/2011 20:01:58
#361109
Colega vila nova tratar do assunto diretamente....

é simples, pegue o código de erro e trate com uma mensagem ao usuário, a idéia do colega jander, se não me engano é para o caso de sua conexão estar lenta, se desejar verificar se quando a conexão volta, crie um ping com o ip do seu site.

Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas