Just nu i M3-nätverket
Gå till innehåll

problem med sökväg och file dns


erka

Rekommendera Poster

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!

Länk till kommentar
Dela på andra webbplatser

Andreas Gustafsson

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

 

 

 

%>

Länk till kommentar
Dela på andra webbplatser

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

Länk till kommentar
Dela på andra webbplatser

Andreas Gustafsson

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

 

Länk till kommentar
Dela på andra webbplatser

Andreas Gustafsson

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

Länk till kommentar
Dela på andra webbplatser

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..

 

Länk till kommentar
Dela på andra webbplatser

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 ..

Länk till kommentar
Dela på andra webbplatser

Andreas Gustafsson

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

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...