Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

Programa conexão remota

Recommended Posts

Como faço uma conexão com um DB por IP?Quero fazer um programa para acessar um DB remotamente, como indico o IP e a porta que ele deve acessar para achar o DB??Ah, pretendo utilizar Acess para o DB e conexão via ADO.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acredito q deva funcionar assim: Dim CN as ADODB.Connection Dim DBPath as String Set CN = New ADODB.Connection DBPath = "\\127.0.0.1\teste\" CN.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath & "32db.mdb;Persist Security Info=False" CN.Open

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não preciso indicar a porta que ele vai acessar ricsant?Bom, pelo que você fez é como se faz normalmente, ao invés de indicar o caminho da pasta indicou o IP de acesso.. vou tentar e aviso. Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudio Neto,Não sei como seria no access, mas Postgresql uso essa conexão e funciona perfeitamente em rede local. Veja o código:

Private Sub conectar_Click()If TxtHost.Text = Empty ThenMsgBox "Informe o local do Banco de Dados.", vbExclamation, "Campo Obrigatório"TxtHost.SetFocusExit SubEnd IfIf TxtNomeUsuario.Text = Empty ThenMsgBox "Informe o Nome do Usuário do Banco de Dados.", vbExclamation, "Campo Obrigatório"TxtNomeUsuario.SetFocusExit SubEnd IfIf TxtPassword.Text = Empty ThenMsgBox "Informe a Senha do Usuário.", vbExclamation, "Campo Obrigatório"TxtPassword.SetFocusExit SubEnd IfOn Error GoTo Trata_erroIf Trim$(cmbBancoDados) = "" ThenMsgBox "Você precisa selecionar um banco de dados.", vbCritical, "Informação Inválida"cmbBancoDados.SetFocusExit SubEnd IfMe.MousePointer = vbHourglassSet gconexao = New ADODB.Connectiongconexao.ConnectionTimeout = 60gconexao.CommandTimeout = 400gconexao.CursorLocation = adUseClientgconexao.Open "PROVIDER=MSDASQL;dsn=PostgreSQL;" & "uid=" & TxtNomeUsuario & ";pwd=" & TxtPassword & ";database=" & cmbBancoDados & ";server=" & TxtHost & ";option=" & (1 + 2 + 8 + 32 + 2048 + 16384)Me.MousePointer = vbNormalIf gconexao.State = 1 ThenSaveSetting App.Title, "Settings", "txtHost", TxtHostSaveSetting App.Title, "Settings", "txtNomeUsuario", TxtNomeUsuarioSaveSetting App.Title, "Settings", "cmbBancoDados", cmbBancoDadosMDIForm_Principal.Showform_imagem.Showform_login.Visible = FalseElseMsgBox "Não foi possível establer a conexão. Verifque as configurações e tente novamente.", vbCritical, "erro durate a conexão..."End IfExit SubTrata_erro:MsgBox Err.Number & " " & Err.Description, vbInformation, "Erro durante a conexão..."TxtPassword.Text = ""TxtNomeUsuario.SetFocusgUltHora = NowEnd Sub

OBS: a senha é criada no pgadmin, portanto não é armazenada em tabela e sim no banco de dados. Agora vem as permissões.Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acredito q deva funcionar assim: Dim CN as ADODB.Connection Dim DBPath as String Set CN = New ADODB.Connection DBPath = "\\127.0.0.1\teste\" CN.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath & "32db.mdb;Persist Security Info=False" CN.Open

RICSANT, tentei fazer o que disse, mas de um erro. Bom, eu costuma fazer minha conexão utilizando connectistring e vi que você usou provider, que foi onde deu erro. disse o seguinte:run time eror 3706"Provider cannot be found. If may not be propoerty installed"Sabe o que pode ser isso??valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudio Neto,Não sei como seria no access, mas Postgresql uso essa conexão e funciona perfeitamente em rede local. Veja o código:

Private Sub conectar_Click()If TxtHost.Text = Empty ThenMsgBox "Informe o local do Banco de Dados.", vbExclamation, "Campo Obrigatório"TxtHost.SetFocusExit SubEnd IfIf TxtNomeUsuario.Text = Empty ThenMsgBox "Informe o Nome do Usuário do Banco de Dados.", vbExclamation, "Campo Obrigatório"TxtNomeUsuario.SetFocusExit SubEnd IfIf TxtPassword.Text = Empty ThenMsgBox "Informe a Senha do Usuário.", vbExclamation, "Campo Obrigatório"TxtPassword.SetFocusExit SubEnd IfOn Error GoTo Trata_erroIf Trim$(cmbBancoDados) = "" ThenMsgBox "Você precisa selecionar um banco de dados.", vbCritical, "Informação Inválida"cmbBancoDados.SetFocusExit SubEnd IfMe.MousePointer = vbHourglassSet gconexao = New ADODB.Connectiongconexao.ConnectionTimeout = 60gconexao.CommandTimeout = 400gconexao.CursorLocation = adUseClientgconexao.Open "PROVIDER=MSDASQL;dsn=PostgreSQL;" & "uid=" & TxtNomeUsuario & ";pwd=" & TxtPassword & ";database=" & cmbBancoDados & ";server=" & TxtHost & ";option=" & (1 + 2 + 8 + 32 + 2048 + 16384)Me.MousePointer = vbNormalIf gconexao.State = 1 ThenSaveSetting App.Title, "Settings", "txtHost", TxtHostSaveSetting App.Title, "Settings", "txtNomeUsuario", TxtNomeUsuarioSaveSetting App.Title, "Settings", "cmbBancoDados", cmbBancoDadosMDIForm_Principal.Showform_imagem.Showform_login.Visible = FalseElseMsgBox "Não foi possível establer a conexão. Verifque as configurações e tente novamente.", vbCritical, "erro durate a conexão..."End IfExit SubTrata_erro:MsgBox Err.Number & " " & Err.Description, vbInformation, "Erro durante a conexão..."TxtPassword.Text = ""TxtNomeUsuario.SetFocusgUltHora = NowEnd Sub

OBS: a senha é criada no pgadmin, portanto não é armazenada em tabela e sim no banco de dados. Agora vem as permissões.Um abraço.
Ué Alisson, ou eu viajei ou isso é uma conexão normal, e não remota, não encontrei onde você indicou o IP que deve ser acessado. Já que é esse meu problema. Qualquer banco de for usar a conexão será semelhante a essa sua, mas o que estou precisando é fazer uma conexão que não seja em rede local.Por exemplo, como funciona um site? Fica tudo armazenado em um servidor e você consegue acessar esses dados de qualquer lugar do mundo. Isso que preciso fazer no meu programa, mas não sei como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi Claudio, eu não tenho certeza do que está acontecendo... foi simplesmente uma idéia... mas eu tenho um sistema que acessa o access remotamente... foi de lá que eu peguei...mas quem fez esta parte foi meu sócio, na época...o fato de estar dando erro, pode ser alguma dll que você deve colocar no projeto... se não me engano eu uso ADO, você está usando DAO?abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudio Neto,Nesse formulário o usuário seleciona servidor, digita o login e senha e seleciona o nome do banco de dados. Mas não é isso que você quer. Então, dê um olhadinha nesse site:http://www.macoratti.net/indvb.htmAcho que irar encontrar algo.Um abraço.

Alisson, direcionou para a página inicial do Marcoratti, se sabe algum post que ele tenha feito ensinando isso, procurei mas não achei...Valeu...

oi Claudio, eu não tenho certeza do que está acontecendo... foi simplesmente uma idéia... mas eu tenho um sistema que acessa o access remotamente... foi de lá que eu peguei...mas quem fez esta parte foi meu sócio, na época...o fato de estar dando erro, pode ser alguma dll que você deve colocar no projeto... se não me engano eu uso ADO, você está usando DAO?abs

Usando ADO mesmo...Você sempre usa cn.provider mesmo? Não conhecia isso, faço cn.connectionstring, e o resto tudo igual.Mas beleza ricsant, vou ver se consigo aqui fuçando...valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.