erka Posted January 4, 2000 Share Posted January 4, 2000 HEJ! Jag har skrivit följande i ett inloggninsscript i asp, mot en acces databas. Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=Data/login.mdb" SQLStmt = "SELECT * FROM Login Where Login = '" & FixaTecken(Request.Form("Login")) & "' AND Password = '" & FixaTecken(Request.Form("Password")) & "'" Set RS = Connection.Execute(SQLStmt) Nu ger servern mig följande felmedellande Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides. /erka/login/validering.asp, line 11 det är den raden där jag anger databasens sökväg, den är döpt till LOGIN av webhotellet som fil DNS, men det fungerar inte heller om jag anger den som det. Hemma fungerade allt perfekt, men ack nu.. Mycket tacksam för svar! Link to comment Share on other sites More sharing options...
Andreas Gustafsson Posted January 4, 2000 Share Posted January 4, 2000 Testa att byta ut det mot detta. DataBas = "DBQ=" & Server.MapPath("Data/login.mdb") Set Database = Server.CreateObject("ADODB.Connection") Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas Glöm inte att ta Set RS = Database.Execute(SQLStmt)istället för Connection. Det är mitt direkta råd, sen vet jag inte ifall du kanske måste lägga databasen i någon typ utav cgi-bin som har både skriv och läsrättigheter. Andreas Link to comment Share on other sites More sharing options...
erka Posted January 4, 2000 Author Share Posted January 4, 2000 Hejsan, tack för ditt svar får det ite att fungera heller, tror det har att göra med den fullständiga koden =)...Hmm han gav mig felsvaret <!--#include file="functions.inc"--> <% Session("Logintries") = Session("Logintries") + 1 If Session("UserId")="" Then Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=Data/login.mdb" SQLStmt = "SELECT * FROM Login Where Login = '" & FixaTecken(Request.Form("Login")) & "' AND Password = '" & FixaTecken(Request.Form("Password")) & "'" Set RS = Connection.Execute(SQLStmt) If RS.EOF Then Response.Redirect("index.asp") Else Session("UserId") = RS("Id") Session("Name") = RS("Name") Session("Login") = RS("Login") Session("Password") = RS("Password") Session("Logintries") = 0 RS.Close Connection.Close End If End If %> Link to comment Share on other sites More sharing options...
erka Posted January 4, 2000 Author Share Posted January 4, 2000 Nu har jag fattat det så här... sög vägen på min information server ser ut så här. Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\login\data\login.mdb" men sen när jag försöker ändra den på webservern som jag har laggt upp den på på mitt webhotell så måste jag ju ändra sökvägen. Den ligger i katalogen data ett snäpp över katalogen med asp dokumenten så rimmligtvis borde det ju bara vara data/forum.mdb, men ack det fungerar inte.. Hjäälp snälla Link to comment Share on other sites More sharing options...
Andreas Gustafsson Posted January 4, 2000 Share Posted January 4, 2000 Kör mitt exempel DataBas = "DBQ=" & Server.MapPath("Data/login.mdb") Set Database = Server.CreateObject("ADODB.Connection") Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas för att komma till grundroten gör så här ..\Data/login.mdb Alltså byt ut Data/login.mdb mot ..\Data/login.mdb Hör av dig igen om det fortfarande inte fungerar Andreas Link to comment Share on other sites More sharing options...
Andreas Gustafsson Posted January 4, 2000 Share Posted January 4, 2000 Lika bra att kopiera in hela exemplet <!--#include file="functions.inc"--> <% Session("Logintries") = Session("Logintries") + 1 If Session("UserId")="" Then Set Connection = Server.CreateObject("ADODB.Connection") DataBas = "DBQ=" & Server.MapPath("\data/login.mdb") Set Database = Server.CreateObject("ADODB.Connection") Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas SQLStmt = "SELECT * FROM Login Where Login = '"& FixaTecken(Request.Form("Login")) & "' AND Password = '" & FixaTecken(Request.Form("Password")) & "'" Set RS = Database.Execute(SQLStmt) If RS.EOF Then Response.Redirect("index.asp") Else Session("UserId") = RS("Id") Session("Name") = RS("Name") Session("Login") = RS("Login") Session("Password") = RS("Password") Session("Logintries") = 0 RS.Close Database.Close End If End If %> Tack Andreas Link to comment Share on other sites More sharing options...
erka Posted January 5, 2000 Author Share Posted January 5, 2000 Hejsan och tack för hjälpen. Fick det att fungera efter lite krångel men är nu tillbaka på samma start punkt, mitt andra asp shait som jag skulle lägga upp. Ett forum. Där anropar jag genom global.asa <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart Session("dbasepath") = "driver={Microsoft Access Driver (*.mdb)};dbq=..\wwwroot/rku/forum/data/forum.mdb" End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnEnd End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnEnd End Sub </SCRIPT> sen på varje sida som forumet använder anropar han global.asa så här <% Set Connection = Server.CreateObject("ADODB.Connection") Connection.Open Session("dbasepath") SQLStmt = "SELECT * FROM Forums" Set RS = Connection.Execute(SQLStmt) %> Det fungerar perfekt på min server hemma men icke här, han hittar inte sökvägen, den verkar vara rätt enligt mig. Menjag är som sagt inte så kunnig. Det fungerer perfekt att anropa global.asa så där på min server och det är konstigt tycker jag. Tack för hjälpen hitills.. Link to comment Share on other sites More sharing options...
erka Posted January 5, 2000 Author Share Posted January 5, 2000 Jag löste det med mycket om och men tack var adin tidigare hjälp, ska nog börja tänka lite innan jag ställer massa frågor...Löste det med att byta ut i global.asa till följande. <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart Session("dbasepath") = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\rku/forum/data/forum.mdb") End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnEnd End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart End Sub </SCRIPT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnEnd End Sub </SCRIPT> Detta borde fungerar bra eller ? inte skapa några konflikter .. Link to comment Share on other sites More sharing options...
Andreas Gustafsson Posted January 5, 2000 Share Posted January 5, 2000 Jo, det ser ut att fungera enligt mig om datbasen ligger i \rku/forum/data/forum.mdb. Det är genom att fråga och försöka man lär sig saker, tänk på det. Tänk på att Global.asa skall ligga i röten Andreas Link to comment Share on other sites More sharing options...
Mats B Posted January 5, 2000 Share Posted January 5, 2000 Fast gärna i omvänd ordning, först försöka, sedan fråga... ;-) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.