ACCESSO AO BD ACCESS NA WEB

LINKSOFT 10/01/2012 17:12:52
#392879
Boa tarde, gostaria de saber qual é a string de conexão da minha aplicação vb.6 com um banco de dados access que estar em uma pasta em um servidor na web.
como fazer esta conexão?
KERPLUNK 10/01/2012 17:20:31
#392880
Se for uma pasta compartilhada(que se pode mapear como uma unidade de rede) não muda nada de uma string de conexão normal.
LINKSOFT 10/01/2012 17:32:49
#392884
não consigo access o bd na web
KERPLUNK 10/01/2012 17:36:34
#392886
Entenda que o [Ô]banco de dados[Ô] access, nada mais é que um arquivo e o suporte à conexão com o mesmo, depende de o arquivo estar fisicamente visível em uma pasta de rede ou local. Se ele estiver em algum lugar [Ô]na web[Ô], tipo [Ô]http://www.empresaXXXXX.com.br/banco.mdb[Ô], não tem como acessar de modo normal, apenas por RDO, que é instável e muuuuuito pouco seguro.
LINKSOFT 10/01/2012 17:53:01
#392889
caramba não consigo colocar uma pasta pra ficar visivel no meu pc
KERPLUNK 10/01/2012 17:57:58
#392890
Citação:

caramba não consigo colocar uma pasta pra ficar visivel no meu pc


Quer dizer visível para toda a internet????
LINKSOFT 10/01/2012 18:01:35
#392891
NÃO TIPO ASSIM, PEGA A PASTA QUE TA NUM SERVISOR NA WEB E DEIXA-LA VISIVEL NO MEU PC, PRA FAZER A CONEXÃO
MARCELO.TREZE 10/01/2012 18:06:17
#392892
olha sem querer desanimar mesmo que vc consiga é uma porcaria, migre para um sqlserver ou mysql
KERPLUNK 10/01/2012 18:06:47
#392893
Você está no mesmo domínio desse servidor? Na mesma LAN?
LINKSOFT 10/01/2012 23:43:09
#392909
O negocio complicado, até agora não consigo conectar ao bd na web.
MARCELO.TREZE 11/01/2012 09:52:19
#392936
veja esta dica retirada do site VBWEB

http://www.vbweb.com.br/dicas_visual.asp?Codigo=609&Classificacao=

Para conectar db access pela internet é um problema, porque o access não é inteligente como o sql, oracle e outros, por isto voce presisa passar os parametros para um arquivo no provedor que este fara as consultas e vai retornar os valores para voce e ate mesmo um recordset.
é necessario utilizar um arquivo chamado de handler que fica no diretorio do windows e no caso do winnt no provedor, este arquivo contem chaves para chamada de instrucoes sql e voce pode passar parametros para este arquivo e o mesmo fala com o Ms Remote do provedor e executa as instrucoes SQL..
Vou exemplificar o mais facil possivel.

Primeiro crie um db chamado de MeuDb com uma tabela Cliente com colunas Nome, Rg_Numero e Sexo.

Crie uma conexão DSN para ele utilizando drive do access e com nome de ConexaoDb

Procure o arquivo MSDFMAP.INI dentro do diretorio windows ou winnt conforme o caso, edite o mesmo e inclua as seguintes chaves.

[connect MinhaConexao]
Access=ReadWrite
Connect=[Ô]DSN=ConexaoDb[Ô]

[sql Cliente]
Sql=[Ô]SELECT * FROM Cliente where codigo = ?[Ô]

* a linha abaixo é muito versatil para executar linhas de comando sql, porem não funciona para insert e update
[sql Comando]
Sql=[Ô]?[Ô]

* observe que os pontos de interrogacao serao os parametros que voce vai passar.
[sql IncluiCliente]
Sql=[Ô]Insert into cliente (Nome,Rg_Numero,Sexo) values (?,?,?)[Ô]


O incoveniente desta tecnica é que voce precisa passar para o administrador do servidor os parametros do arquivo handler para que ele inclua na maquina onde esta o seu db e criar o famoso DSN para seu db, e todas as vezes que voce precisar alterar as chaves, voce precisa informar o administrador para atualizar tambem.


Agora vamos para o Vb, crie um projeto e faca referencia para Microsoft ActiveX Data Objects 2.7 Library que voce consegue no site da microsoft a atualizadao do MDAC 2.7
http://www.microsoft.com/data/download_270RTM.htm

Depois crie esta sub no projeto boa sorte


Public Sub CarregarOdbcHandler() [ô] com handler
Dim Rs As New ADODB.Recordset
Rs.CursorLocation = adUseClient
Dim Ssql As String

[ô]*** Comando abaixo funciona para inclusao, note que a chave sql IncluiCliente contem
[ô] varios ? (pontos de interrogacao) correspondente aos nomes dos campos da tabela
[ô] e sao separados por virgula a partir do comando de chamada
[ô] nao se pode passar o comando direto [Ô]Insert into cliente (Nome,Sexo) values (Georgenes,Masculino)[Ô] [ô] Nao funcina


Ssql = [Ô][ô]georgenes[ô],[ô]masculino[ô],[Ô] [ô] Ok Funciona
Rs.Open [Ô]IncluiCliente([Ô] & Ssql & [Ô])[Ô], [Ô]Handler=MSDFMAP.Handler;[Ô] & _
[Ô]Provider=MS Remote;Data Source= MinhaConexao;[Ô] & _
[Ô]Remote Server=http://NomeDoServidor[Ô] ‘ previamente configurado pelo PWS

[ô]Ssql = [Ô]Insert into cliente (Nome,Sexo) values (geo,Masculino)[Ô] [ô] Nao funcina


[ô] ‘ na linha abaixo tem um exemplo de liberdade de codigo utilizando a chave comando passando o parametro completo de pesquisa para criar uma recordset

Ssql = [Ô]select * from cliente where cd_Cliente = 1[Ô] [ô] ok funcina
Rs.Open [Ô]Comando([Ô] & Ssql & [Ô])[Ô], [Ô]Handler=MSDFMAP.Handler;[Ô] & _
[Ô]Provider=MS Remote;Data Source= MinhaConexao;[Ô] & _
[Ô]Remote Server=http:// NomeDoServidor [Ô]
Rs.Close


Rs.Open [Ô]Comando(select * from cliente)[Ô], [Ô]Handler=MSDFMAP.Handler;[Ô] & _
[Ô]Provider=MS Remote;Data Source= MinhaConexao;[Ô] & _
[Ô]Remote Server=http:// NomeDoServidor [Ô]
Rs.Close

End Sub



lógico se vc pensar em migrar será muito mais prático e seguro

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