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

Databaskopplingar


Martin Andersson

Rekommendera Poster

Martin Andersson

<P><P><P>Hej <br>Jag har problem med att göra en databaskoppling i ASP utan så kallad system-dsn. <br>Jag undrar varför det gång på gång blir fel och vore jätteglad om någon kunde säga mig var felet ligger. <br><br>Först provade jag att skriva:<br> Set Connection = Server.CreateObject("ADODB.Connection") <br> Connection.Open "driver={Microsoft Access<br>Driver(*.mdb)};dbq=c:\inetpub\wwwroot\asp\egna_projekt\test\test.mdb" <br><br>Detta fungerade inte, för då jag testade att köra sidan fick jag felmeddelandet: <br><br> Microsoft OLE DB Provider for ODBC Drivers fel '80004005' <br><br> [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified <br><br> /asp/egna_projekt/test/default.asp, rad 4 <br><br>Rad 4 i denna fil är just den där det står: <br> Connection.Open "driver={Microsoft Access<br>Driver(*.mdb)};dbq=c:\inetpub\wwwroot\asp\egna_projekt\test\test.mdb" <br><br>Så nu undrar jag var felet ligger <br>Jag hade även tänkt kunna skriva något i stil med följande i filen global.asa som ligger i samma mapp som de<br>andra filerna: <br> Set Connection = Server.CreateObject("ADODB.Connection") <br><br> Session("dbasepath")="driver={Microsoft Access<br>Driver(*.mdb)};dbq=c:\inetpub\wwwroot\asp\egna_projekt\test\test.mdb" <br><br>Och sedan i ASP-filerna kunna skriva <br> Connection.Open Session("dbasepath") <br><br>Men detta resulterar också i ett fel. <br> <br> <br><br>/ Martin </P></P></P>

Länk till kommentar
Dela på andra webbplatser

Det var tyvärr lite stökigt att läsa ditt inlägg, men har du provat att använda

 

Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("mapp/databas.mdb")

 

Som virtuell sökväg?

 

För det var det du efterlyste, eller?

 

/Zackarias

Länk till kommentar
Dela på andra webbplatser

Martin Andersson

Hej!

Tack för ditt svar.

Ja, det stökiga berodde på att medhörande html-kod råkade komma med i inlägget.

Jag känner mig ganska novis vad gäller ASP som du kanske förstår..

MapPath.. betyder det att den utgår från den mapp där scriptet körs?

 

Mitt problem var från början att datorn inte hittade databasfilen, fast sökvägen verkade stämma. Jag hade skrivit:

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

Connection.Open "driver={Microsoft Access Driver(*.mdb)};dbq=c:\...osv\databas.mdb"

 

Då hittades inte databasfilen. Tror du det går bättre med en virtuell sökväg eller vad det hette?

Vore glad om du eller någon annan kunde reda ut det åt mig.

 

Kan man dessutom gå ett steg längre och definiera databassökvägen i global.asa liknande:

Session("dbasepath")="driver={Microsoft.....

...och sedan anropa via:

Connection.Open Session("dbasepath")

Länk till kommentar
Dela på andra webbplatser

jag använder hela tiden sådan här kopplingar..

 

<%@ LANGUAGE=VBScript %>

<%

 

 

Set Connect=server.CreateObject("adodb.connection")

DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "

DSNtemp=dsntemp & "DBQ=" & server.mappath("db/filmer.mdb")

Connect.Open DSNtemp

SQLStmt = "SELECT * FROM FILM ORDER BY FILM_NAMN"

Set RS = Connect.Execute(SQLStmt)

%>

 

i det här fallet är det för en film databas där jag har databasen i en katalog som heter db i rooten på hemsidan. sen stänger man den med connect.close...

 

 

Länk till kommentar
Dela på andra webbplatser

Martin Andersson

Tack för svaret!

Nu fungerar det att koppla till databasen.

 

När jag ändå har fått sån bra hjälp kanske nån kunde visa hur man gör när man vill utveckla detta ett steg, och definiera kopplingen i global.asa i någon variabel, och sedan bara skriva typ:

Connection.Open Session("variabel")

fungerar det?

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