Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Djeri de Toledo

Asp+Access: Conexão com Banco de Dados

Recommended Posts

Ola galera.

 

Estou colocando uma sessão de notícias em meu site e ele tem um painel adminsitrativo para adicionar, editar e excluir noticias.

 

Eu tenho uma pasta chamada dbase e ele fica dentro da raiz do meu diretorio. Verifiquei o caminho fisico do banco de dados do meu servidor e queria colocar meu arquivo mdb dentro dela. Porem, preciso de ajuda para configurar este caminho na conexão do meu banco de dados.

 

O caminho que o proedor me passou é: e:\home\xxxxx\Dados\arquivo.mdb

 

Eu tenho 3 arquivo de conexão em asp e 2 arquivos com a extensão ini na qual indica o diretorio e arquivo com a base de dados. Segue abaixo as programações de conexão:

 

Arquivo Conexão.asp

<title>Painel de Controle</title><%Session.TimeOut = 60%><%Dim Caminho Dim ArqDim ObjFSODim linha_txtDim thisfileDim FsArq = "conexao.ini"Caminho = Server.MapPath(Arq)Set ObjFSO = CreateObject("Scripting.FileSystemObject")If ObjFSO.FileExists(Caminho) = False then	objFSO.CreateTextFile(caminho)Else	Set fs = CreateObject("Scripting.FileSystemObject") 	Set thisfile = fs.OpenTextFile(Caminho)	while (not thisfile.AtEndOfStream) and response.isclientconnected() 		linha_txt = thisfile.readline		Session("Conne") =  linha_txt	Wend	thisfile.Closeset thisfile = nothingset fs = nothing 	End If%>

Arquivo Conexãob.asp

<title>Painel de Controle</title><%Arq = "conexaob.ini"Caminho = Server.MapPath(Arq)Set ObjFSO = CreateObject("Scripting.FileSystemObject")If ObjFSO.FileExists(Caminho) = False then	objFSO.CreateTextFile(caminho)Else	Set fs = CreateObject("Scripting.FileSystemObject") 	Set thisfile = fs.OpenTextFile(Caminho)	Do while thisfile.AtEndOfStream = false		linha_txt = thisfile.readline			Session("Conneb") =  linha_txt & "\senha.mdb"	Session("Connec") =  linha_txt & "\login.mdb"	Session("ConneX") =  linha_txt & "\atletas.mdb"	Session("ConneN") =  linha_txt & "\base.mdb"			Loop	thisfile.Closeset thisfile = nothingset fs = nothing 	End If%>

Arquivo Conexaoe.asp

<title>Painel de Controle</title><%Arq = "conexaob.ini"Caminho = Server.MapPath(Arq)Set ObjFSO = CreateObject("Scripting.FileSystemObject")If ObjFSO.FileExists(Caminho) = False then	objFSO.CreateTextFile(caminho)Else	Set fs = CreateObject("Scripting.FileSystemObject") 	Set thisfile = fs.OpenTextFile(Caminho)	Do while thisfile.AtEndOfStream = false		linha_txt = thisfile.readline	Session("ConneE") =  linha_txt & "\email.mdb"		Loop	thisfile.Closeset thisfile = nothingset fs = nothing 	End If%>

Os arquivos com a extensão ini, são:

 

conexao.ini

\dbase\base.mdb

 

conexaob.ini

\dbase

 

Então, alguem podo me ajudar????

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não entendi sua dúvida...abraçso

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara q conexão complexa....rsrsrsr

 

acho q no seus arquivo .ini deve ter o caminho fisico

 

conexao.ini, conexaob.ini

e:\home\xxxxx\Dados\arquivo.mdb

 

vo colocar um exemplo bem simples:

fisico:

str_objConexao = "PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=C:\inetpub\wwwroot\dados\nome_do_banco.mdb"
mappath:

str_objConexao = "PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & server.MapPath("dados/nome_do_banco.mdb")

você deve colocar o source com MapPath ou especificar o caminho físico.

 

faloes...espero telo ajudado...qualquer duvida posta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A minha dúvida é na configuração do caminho físico para conectar ao banco de dados.

 

Se eu colocar o caminho que o provedor me deu ele da erro na hora da conexão.

 

O erro é:

 

e:\home\xxxx\Dados\senha.mdb

Server.MapPath() error 'ASP 0172 : 80004005'

 

Invalid Path

 

/news/logins.asp, line 6

 

The Path parameter for the MapPath method must be a virtual path. A physical path was used.

 

A página logins.asp é:

 

<% 'Conexão com o banco de dadosresponse.Buffer = trueResponse.Write Session("Conneb")set Db = server.createobject("ADODB.Connection")Db.provider="Microsoft.Jet.OLEDB.4.0"Db.open server.mappath(Session("Conneb"))set RS = server.createobject("ADODB.Recordset")'set DbLog = server.createobject("ADODB.Connection")'DbLog.provider="Microsoft.Jet.OLEDB.4.0"'DbLog.open server.mappath(Session("Connec"))'set RSLog = server.createobject("ADODB.Recordset")login=(Request.QueryString("login"))senha=(Request.QueryString("senha"))set acesso=DB.Execute("SELECT * FROM acesso WHERE login='"&login&"' AND senha='"&senha&"' ")' Caso os dados não estiverem corretos o usuário é enviado para a entrar.htmif acesso.eof thenSession("Acesso")=""Response.Redirect"negado.asp"elseSession("login")=login'Session ("nivel")=nivel'Session("usuario")= acesso("usuario")'Session("Cliente")= acesso("Cliente") Session("Id_usu")= acesso("Código")Session("login")= acesso("login")Session("nome")= acesso("nome")'você pode colocar quais sessions você quiser aqui que o restante do site vai ler.		'Adiciona login no registro de log		'rsLog.Open "log", dblog, 1, 3			'RSLog.AddNew			'RSLog("usuario")=Session("login")			'RSLog("data")=Date			'RSLog("hora")=Time			'RSLog.Update		'RSLog.Close'Da permissao para o usuario navegarSession("Acesso")= "OK"' Permite acesso ao usuario e redireciona para pagina correta'	if Session("nivel")= "1" then'		Response.Redirect "manut.asp"		Session("isLoggedIn") = True'	elseif Session("nome")= Session("login") then'		Session("isLoggedIn") = True		Response.Redirect "manut.asp"'		Session("isLoggedIn") = True'	elseif Session("nivel")= "3" then'		Response.Redirect "manut.asp"'		Session("isLoggedIn") = True'	end ifend ifDB.close%>
Abraçoss

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah sim...mas q nem eu disse...o q aconteceu aí foi que você misturou caminho fisico e virtual."""The Path parameter for the MapPath method must be a virtual path. A physical path was used.""""""o parâmetro para o método MapPath precisa ser um caminho virtual. Um caminho fisico foi usado."""você precisa alterar a sua variavel lá Caminho = Server.MapPath(Arq)" para Caminho = "e:\home\xxxx\Dados\senha.mdb "um abraço..f.loes

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q as suas sessões precisam ser alteradas...mas é so uma opinião...da um zoio.

 

if Session("tipo_do_banco") =  "Conneb" then	 nome_do_banco = "senha.mdb"elseif Session("tipo_do_banco") =  "Connec" then	 nome_do_banco = "login.mdb"elseif Session("tipo_do_banco") = "ConneX" then	 nome_do_banco = "atletas.mdb"elseif Session("tipo_do_banco")  = "ConneN" then	 nome_do_banco = "base.mdb"end if

Caminho = "e:\home\xxxx\Dados\" & nome_do_banco

 

 

faloes

Compartilhar este post


Link para o post
Compartilhar em outros sites

na realidade eu acho desnecessário o uso dos arquivos....tipo você já tem o caminho armazenado...Caminho = "e:\home\xxxx\Dados\" & nome_do_banco..mas se usar acho q "e:\home\xxxx\Dados\".ja q a sessão retorna o nome do banco. Dai Caminho = conteudodoarquivo(o q vem do arquivo) & nome_do_banco (o q vem da sessao).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido....Só precisei colocar o caminho nos arquivos *.iniE fazer algumas substituições nas páginas: Por exemplo, onde estava Db.open server.mappath(Session("Conneb"))Eu substitui porDb.open Session("Conneb")E fiz isso com as outras Sessions....Valeu galera, por ter me ajudado.Abraçossss

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.