Just nu i M3-nätverket
Jump to content

problem med sökväg och file dns


erka

Recommended Posts

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

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

 

Link to comment
Share on other sites

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

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

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...