Ir ao conteúdo
  • Cadastre-se

Excel Tratativa de conexão SQL


Posts recomendados

Bom dia pessoa do forum!

 

Então, vou descrever um pouco minha situação, trabalho em um escritório de uma fazenda, que fica na cidade com qualidade de internet razoavel, o servidor com o banco de dados fica aqui no escritório.

 

A fazenda, fica a 160km daqui, com uma internet bastante instável.

 

O que acontece, esse sistema ele é preenchido por um usuário na fazenda, que envia as informações para o BD aqui no escritório, mas como lá a internet é instável, pode ocorrer um erro de pacote, e acabar dando problemas no banco e na planilha. 

 

O sistema ele funciona assim, a pessoa preenche uma requisição com os produtos que ela quer, e depois eu abro a conexão com o banco de dados e envio essas informações. Eu queria a opinião de vocês, para saber se estou abrindo a conexão com o banco de dados de forma correta, para o preenchimento dessa informação, porque eu utilizo um loop, e se a conexão cair no meio desse loop, acredito que vai acarretar bastante problema, vou mandar o trecho do código:

 

Sub conectBD()
On Error GoTo erro
   Set cnn = New ADODB.Connection
   Set rs = New ADODB.Recordset
   
   cnn.ConnectionString = "Provider=SQLOLEDB;Data Source="my IP"\SAGE;Initial Catalog=Compras;***;pwd=***"
   cnn.Open
   
Exit Sub
erro:
    MsgBox "Não foi possível conectar a basse de dados, por favor verifique sua internet", vbInformation, "Erro"
    Set cnn = Nothing
    Set rs = Nothing

End Sub

    conectBD
        rs.Open "Select * FROM tb_requi", cnn, 3, 3
        Do While linha <= UltCel.Row
            rs.AddNew
                rs!nu_requisicao = w.Cells(linha, Col).Value
                rs!data_requisicao = Format(Date, "mm/dd/yyyy")
                rs!Item = w.Cells(linha, Col + 2).Value
                rs!atividade = w.Cells(linha, Col + 3).Value
                rs!cod_produto = w.Cells(linha, Col + 4).Value
                rs!descricao = w.Cells(linha, Col + 5).Value
                rs!Unidade = w.Cells(linha, Col + 6).Value
                rs!centro = w.Cells(linha, Col + 7).Value
                rs!quantidade_pedida = w.Cells(linha, Col + 8).Value
                rs!status = 1
                linha = linha + 1
                Col = 7
            rs.Update
        Loop
    desconectDB

 

Então, basicamente é isso, queria saber se tem uma tratativa melhor para o envio dessa informação. Qualquer duvida me avisa, não sei se o problema em que eu descrevi ficou mt claro, mas agradeço desde já, obrigado.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!