Ir para conteúdo

POWERED BY:

Arquivado

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

celi

conexaão com bd

Recommended Posts

Galera tô com um pequeno probleminha, meu code de proteção num funciona. Quando eu mudo o diretorio do bd, tipo nesta parte

set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("Banco.mdb")&";"
conexao.open
se eu mudar o diretorio para ("../administacao/bd/Banco.mdb")&";" num fonciona de jeito nenhum alguem pode ajudar resolvar?

 

Segue o code:

<%If session("usr_log_ok")="" Then 
  Response.redirect "index.asp"
  Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
  Response.End()
End If
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("Banco.mdb")&";"
conexao.open
SQL = "select * from Login where ID ="&session("usr_log_ok")
Set RS = Conexao.Execute(SQL)
If rs.eof then
Response.write "Stop!"
Else %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a mensagem de erro apresentada?

 

Pode está relacionado a permissão, mas precisamos vê-la para ter certeza do que é.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Server.MapPath("/administracao/bd/Banco.mdb")

Repare que você escreveu administração erroneamente, verifique isso, se não der certo tente o code acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente é administracao e não administração. Em relação a mensegem de erro ai você me pegou, pois meu servidor só aparece a mensagem de erro deste jeito:

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

 

More information about this error may be available in the server error log.

 

Já habilitei mostrar mensegens amigáveis já desabilitei tbm, mas num adianta que sempre aparece a mesma mensagem. Outra coista este code esta numa pasta e o bd em outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acessa o painel de controle do seu servidor e desabilita a opção que exibe mensagens de erros amigáveis. Se for o caso, entre em contato com eles para fazer isso para você, pois sem a mensagem não da para saber o que está acontecendo, pois existe muitas hipóteses, as mais simples já foram apresentadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementando, se a página que chama o banco de dados está na mesma pasta do banco de dados, e usando

Server.MapPath("../administacao/bd/Banco.mdb")&";" assim, o resultado pode ser:

e:/site/administracao/administracao/bd/Banco.mdb apontando para uma pasta que não existe e gerando assim a mensagem de erro, pois o Server.MapPath serve para escrever o caminho completo para acesar um determinado arquivo, e as vezes não nos atentamos para esses detalhes e o erro surge sem querer.

 

Caso a pagina e o banco de dados estejam na mesma pasta, pode-se tentar assim:

conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("./Banco.mdb")&";"

Se estiver a pagina numa pasta e o banco de dados em outra, pode ser assim:

conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../db/Banco.mdb")&";"

 

Quando surge esse tipo de erro é bom dar um response.write na string para ver se o caminho está correto

 

DataSource="&Server.MapPath("./Banco.mdb")&";"

response.write DataSource

 

Acho que as mensagens amigaveis não estão no servidor como o Hargon disse, mas sim nas configurações do navegador, na aba avançadas no ie.

Compartilhar este post


Link para o post
Compartilhar em outros sites

conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("./Banco.mdb")&";"

Se estiver a pagina numa pasta e o banco de dados em outra, pode ser assim:

conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../db/Banco.mdb")&";"

Qual a diferença? Me parece parecido um com o outro. A diferença é que entra uma pasta "../db/Banca.mdb"

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente uma pasta muda completamente o caminho de um arquivo, se tiver duvida sobre o caminho entre em contatato com o suporte, que eles orientam do seu host

 

imagine uma hospedagem , dentro dela com as pastas web, dados, dentro WEB a pasta ADM o caminho para o bd seria

 

Set cnnBanco = Server.CreateObject("ADODB.Connection")

cnnBanco.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../dados/curriculos.mdb")

Compartilhar este post


Link para o post
Compartilhar em outros sites

A diferença entre o primeiro e o segundo está nos pontos.

fazendo ./algumacoisa significa que o arquivo está na mesma pasta ou abaixo que a página (./diretorio/arquivo).

com ../algumacoisa significa que o arquivo está uma pasta acima do que a página que está requisitando o arquivo (../diretorio/arquivo).

Compartilhar este post


Link para o post
Compartilhar em outros sites

imagine dentro do wwwroot uma pasta chamada db e dentro dela o arquivo de banco de dados, e você vai usar um arquivo dentro do wwwroot, pode usar essa função

 

<% 
sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

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.