Ir para conteúdo

POWERED BY:

Arquivado

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

eclipsekiller

Base de Dados OnLine

Recommended Posts

Alguem sabe como ou se tem como acessar e modificar uma base de dados access, que esta em um servidor web??Tipo cadastro os dados em um programa local, porem a base de dados esta na net!!!HELP ME, HELP ME!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi, veja este exemplo, é para ser utilizado com Winsock...

 

VB - Como acessar um banco de dados Remoto

 

Existem muitas formas de acessar um banco de dados remoto , em rede local , na internet , intranet etc. Você pode usar ASP , PHP , Cold Fusion , ASP.NET , Pearl, etc. Mas você quer acessar um banco de dados através de sua aplicação VB não é mesmo ?

Antes de mostrar uma das maneiras de fazer isto você deve levar em consideração alguns fatores que eu considero fundamentais nesta questão:

1. Segurança - O acesso via aplicação VB é suficientemente seguro para o tipo de informação que vai transitar na rede. (Você acha que alguma instituição financeira usa este tipo de acesso em suas solução de internet banking ? )

2. Desempenho - O desempenho obtido esta dimensionado adequadamente ao volume de informações que irão transitar pela rede. Qual o o volume de dados e o tempo de resposta que você esta disposto a negociar para que a esta solução seja viável. ?

3. Custos - Os custos de implementação, manutenção , segurança , etc são adequados . Vale a pena gastar tempo e dinheiro nesta solução. ?

Considerando que você tenha pesado bem os fatores acima mencionados , e outros que julgar relevantes , vou passar a mostrar como você pode acessar um banco de dados remoto. Nesta solução eu vou estar acessando um banco de dados Access remotamente usando duas aplicações VB : a aplicação cliente , que solicita os dados , e a aplicação servidor que atende as solicitações e responde com a informação desejada. (Em uma rede local ou internet ou intranet sempre teremos quem faz a requisição e sempre teremos quem atende a requisição. Se você usar ASP , por exemplo , as páginas ASP no cliente fazerm a requisição e o servidor que atende deverá possuir o ASP instalado para decifrar e atender a requisição.)

A seguir temos um panorama do nosso problema e da solução que vamos usar:

· Vamos supor que você deseja acessar a tabela produtos do banco de dados Northwind.mdb remotamente.

· O banco de dados esta localizado em uma máquina remota e você quer ter acesso a tabela produtos para saber os nomes e preços dos produtos. Você deverá enviar uma requisição informando o código do produto que deseja acessar usando uma aplicação VB que eu vou chamar de aplicação cliente.

· Esta requisição deverá trafegar na rede e chegar ao computador de destino sendo então atendida por uma aplicação VB que eu vou chamar de aplicação servidor.

· Neste ponto a aplicação servidor deverá abrir a tabela e deverá fazer uma busca pelo código informado.

· Se o produto for encontrado a aplicação obtém o nome do produto e o preço do produto e responde ao cliente.

· Se não o produto não for encontrado a aplicação servidor deverá informar ao cliente a string Null.

· A aplicação cliente recebe a resposta e exibe os dados recebidos ou avisa que não há dados pertinentes na tabela produtos.

Vamos ter que construir duas aplicações : a aplicação cliente que irá rodar na máquina a partir da onde você deseja consultar e a aplicação servidor que deverá rodar na máquina onde esta localizando o banco de dados que você quer acessar.

A estrutura da tabela Produtos é dada abaixo:

 

Vou usar a coluna CódigoDoProduto para selecionar o produto desejado e obter os campos NomeDoProduto e PreçoUnitário.

Vou usar o componente Winsock para realizar o acesso remoto.

Criando a aplicação Cliente

Nossa aplicação cliente possuirá um único formulário e os controles : Winsock , TextBox , Shape , Label e CommandButton conforme o layout da figura abaixo:

Controles : CommandButton: name/Caption/Style - Graphical 1 - backcolor· cmdConectar - Conectar - verde · cmdEnviar - Enviar Dados - amarelo · cmdEncerrar - Encerrar - vermelho TextBox : name· txtItem · txtNomeProduto · txtPrecoProduto Winsock : Name· Winsock1 Shape : name · shpOK (verde) · shpEsperar (amarelo) · shpErro (vermelho)

Informações que a aplicação cliente deverá conhecer:

· O número IP do host de destino e a porta na qual o host esta atendendo

· O nome da coluna relativa ao código do Produto da tabela Produtos

A seguir temos o código da aplicação Cliente :

Option ExplicitDim strmsgDados As String Private Sub cmdConectar_Click()'altere o valor para o ip/porta do servidor com o qual deseja conectarIf Not Winsock1.State = sckConnected Then Winsock1.RemoteHost = "127.0.0.1" Winsock1.RemotePort = 80 Winsock1.Connect shpOK.Visible = True txtItem.SetFocusElse Label3.Caption = " Já existe uma conexão com o Host."End IfEnd Sub Private Sub cmdEnviar_Click()If Winsock1.State = sckConnected Then Winsock1.SendData txtItem.Text shpOK.Visible = True Label3.Caption = "Enviando dados..."Else shpOK.Visible = False shpEsperar.Visible = False shpErro.Visible = True Label3.Caption = "Não existe conexão com o host."End IfEnd Sub Private Sub cmdEncerrar_Click() Winsock1.Close shpOK.Visible = False shpEsperar.Visible = False shpErro.Visible = TrueEnd Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim sDadosRecebidos As StringDim sDados() As String'recebe os dados do servidorWinsock1.GetData sDadosRecebidos, vbStringIf sDadosRecebidos = "Null" Then strmsgDados = "Não há dados para este código."Else 'separa os dados sDados() = Split(sDadosRecebidos, "@") 'exibe os dados txtNomeProduto.Text = sDados(0) txtPrecoProduto.Text = Format(sDados(1), "###0.00") 'envia mensagem strmsgDados = "Dados exibidos com sucesso."End IfshpOK.Visible = TrueshpEsperar.Visible = FalseshpErro.Visible = FalseEnd Sub Private Sub Winsock1_SendComplete() Label3.Caption = "Transmissão de dados concluida." & vbCrLf & strmsgDadosEnd Sub

 

é isso ai, boa sorte. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.