Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Wo liegt der Fehler hier im Script ??????





Frage

Also ich habe mir heute mal wieder ein ASP-Script runtergezogen und es will leider nicht so wie ich will. Habe die Datenbank in Frontpage reingezogen und die Verbindung "ubb" genannt hier der auszug aus der global.asa: --Project Data Connection Application("ubb_ConnectionString") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=URL=db/ubbs.mdb" FrontPage_UrlVars(4) = "ubb_ConnectionString" Application("ubb_ConnectionTimeout") = 15 Application("ubb_CommandTimeout") = 30 Application("ubb_CursorLocation") = 3 Application("ubb_RuntimeUserName") = "" Application("ubb_RuntimePassword") = "" So sieht die fehlermeldung aus, wenn ich die default.asp aufrufen möchte: Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /djnet/Forum_User/default.asp, line 11 Hier nun also die Zeile 11 aus der asp-Datei: set my_conn= Server.CreateObject("ADODB.Connection") my_Conn.open ConnString Und zum schluß noch ein paar zeilen aus der confic.inc ConnString = "ubb_ConnectionString" ConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=db\ubbs.mdb" Ich versteh nicht so ganz was ich falsch gemacht haben soll. Vielleicht habt Ihr ne Idee oder findet den Fehler oben. Danke im voraus

Antwort 1 von Karl

Hallo teccer

Ist doch ganz einfach: Die Definition in der Global.asa unter
Sub Application_OnStart

liest sich gut, sie mag sogar richtig sein, das kann ich nicht beurteilen, der Codeschnippsel ist zu dürftig..

Nur was hat diese Definition mit der tatsächlichen Open-Procedure zu tun?

Nichts, denn Du weist der Variblen
ConnString erst "ubb_ConnectionString" zu
{ConnString = "ubb_ConnectionString"}
dann überschreibst Du die Variable wieder!
{ConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=db\ubbs.mdb"}

Mit dieser Konfiguration öffnest Du die Connection dann wirklich! So kann der ODBC-Treiber die Datenbank aber NIE finden!

Wenn Du schon DBQ statt einer DSN einsetzt, dann richtig !


Wenn Du MDAC Version >=2.5 benutzt, dann

Provider=MSDASQL.1;Connect Timeout=15;Extended Properties=DBQ=" & Server.MapPath("/verzeicnis/datenbank.mdb") & ";DefaultDir=" & Server.MapPath("/verzeichnis") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;"

Treiber Version 2

wenn die DB in einem Unterverzeichnis steht
Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\Unterverzeichnis") & "\datenbank.mdb;

wenn die DB im Hauprverzeichnis steht
DBQ=" & Server.Mappath("datenbank.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};

oder Du gibst das Verzeichnis voll an
Driver={Microsoft Access Driver (*.mdb)}; DBQ="D:\Webdaten\irgendeinverzeichnis\nocheinverzechnis\datenbank.mdb;

Nur dann kann die Datenbank auch gefunden werden.

alles klar?

Karl




Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: