erro estupido e sem logica

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

erro estupido e sem logica

Mensagempor razstec » Sexta Fev 10, 2006 9:46

Pessoal alguem me sabe dizer onde e que estou a falhar???
to sempre a ter este erro o que acho estranho.

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/goeant/login.asp, line 20


obrigado


[b]
<html>
<head>
<title>Login</title>
<form name="ok" action ="login.asp?status=go" method="post">
<p><b><font face="Verdana" size="2">Username </font></b><font face="Verdana">
<input type="text" style="width: 100px; height: 18px; font-family:Verdana; font-size:10px" name="t1" size="20"></font><b><font size="2" face="Verdana"> Password </font></b>
<input type="password" name="t2" style="width: 100px; height: 18px; font-family:Verdana; font-size:10px" size="20">
<button name="B1" type="submit" value="ok" name="B1" style="width: 35px; height: 18px; font-family:Verdana; font-size:10px" id="ok">OK</button></p>
</head>

<body>
</form>
</body>
</html>
<%
session.timeout=60
if request.querystring("status")= "go" then

Set Conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver(*.mdb)}; DBQ="& Server.MapPath("db/db.mdb")

set rs=server.createobject("adodb.recordset")
sqlstmt = "select * from users where username= " & request.form("t1") & " and password= " & request.form("t2") & " "

rs.open sqlstmt, conn,1
if rs.RecordCount > 0 then
session("utilizador")=rs.fields("username")
if rs.fields("username")="administrator" then
session("admin")=true
response.redirect"menuadmin.asp"
else
session("admin")= false
response.write "Erro!! Tente de novo."

end if

session("valido")=true
response.redirect"menu.asp"
else
session("valido")=false
response.redirect "erro.html"
end if
end if
%>[/
b]
Razstec
razstec
Aprendiz
Aprendiz
 
Mensagens: 65
Registado: Terça Jan 10, 2006 12:53

Mensagempor XEDAS » Sexta Fev 10, 2006 11:31

Não sei já foste ao google, mas parece que tem mesmo muita coisa

solução
AMD 64 3500+ / Zalman 7700 CU
ASUS A8V DELUXE sock 939 / 2x1GB G.SKILL ZX + 2x512 Twinmos dual
Thermaltake Shark Black / X-Alien 500 / XFX 6800 GT 256
MAXTOR 200GB serial ATA / NEC 3500A / Logitech MX-518
XEDAS
Membro de Prata
Membro de Prata
 
Mensagens: 212
Registado: Sexta Nov 19, 2004 15:57

Mensagempor Astrolupa » Quarta Fev 15, 2006 15:05

Oh Razstec... não compliques uma coisa simples! :D (tou a brincar)

Realmente, descobrir os parametros de uma determinada ligação ODBC e depois descobrir os que fazem falta ou não, é no minimo um belo trabalho de detective. No entanto, e para este caso, não é preciso complicar.

1 - Vai ás tuas ferramentas de administração e abre o programa de "origem de dados ODBC"
2 - Vai ao separador "DSN de sistema" e cria uma nova ligação, escolhendo o driver do mdb
3 - Dá um nome simples a esta ligação (eu vou chamá-la de HardwarePT), e seleciona a base de dados
4 - Confirma e fecha

No teu código, só tens que substituir aquilo tudo por:

Código: Seleccionar todos
conn.open "DSN=HardwarePT;"


...e já está! Ops... ouço-te a reclamar porque queres definir o caminho da base de dados por código? :D Tudo bem! Então adiciona lá o teu DBQ e já está!

Código: Seleccionar todos
conn.open "DSN=HardwarePT;DBQ=" & Server.MapPath("db/db.mdb")


Espero que isto resolva o teu problema! (Há ligações muito mais obscuras! :roll: )
Se funcionar, mas não quiseres usar um DSN (não há motivo pra isso, mas nunca se sabe...), podes, após uma ligação com sucesso, fazer um output da conn.ConnectionString, e podes usar esta em vez do DSN

Boa sorte!
Cumprimentos,
Nelson Viegas
Astrolupa
Novato
Novato
 
Mensagens: 2
Registado: Quarta Fev 15, 2006 12:33
Localização: Algarve


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron