ACCESSO AO BD ACCESS NA WEB
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?
como fazer esta conexão?
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.
não consigo access o bd na web
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.
caramba não consigo colocar uma pasta pra ficar visivel no meu pc
Citação:caramba não consigo colocar uma pasta pra ficar visivel no meu pc
Quer dizer visÃvel para toda a internet????
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
olha sem querer desanimar mesmo que vc consiga é uma porcaria, migre para um sqlserver ou mysql
Você está no mesmo domÃnio desse servidor? Na mesma LAN?
O negocio complicado, até agora não consigo conectar ao bd na web.
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
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
Tópico encerrado , respostas não são mais permitidas