Unklarheiten über FILEDSN
Moser Klaus
- asp.net
Hi!
Meine Datenbankanbindungen machte ich bislangen mit einer DSN-losen Verbindung. Jetzt wollte ich mal eine FILEDSN ausprobieren. Mit dem folgenden Code habe ich lokal keine Probleme. Aber wenn ich' ins Netz rausgeben will erhalte ich einen Error. Aber eins nach dem Anderen.
Hier ist mal der Code:
7: SET v_kaernten=Server.CreateObject("ADODB.Connection")
8: v_kaernten.Open "FileDSN=" & Server.MapPath("cgi-bin/kaerntner_net.dsn") & "; DBQ=" & Server.MapPath("cgi-bin/") & ";"
9: sql_test="SELECT * FROM kaernten"
10: SET rs_test=Server.CreateObject("ADODB.Recordset")
11: rs_test.Open sql_test,v_kaernten,3,3
12: response.write rs_test.recordcount
13: rs_test.Close
14: SET rs_test=NOTHING
15: v_kaernten.Close
16: SET v_kaernten=NOTHING
Dies ist nur ein kurzes Testprogramm. Die Ausgabe beschränkt sich nur auf die Anzahl der Records. Die FileDSN heisst: kaerntner_net.dsn und liegt im cgi-bin ebenso wie die Datenbank (kaernten.mdb).
Lokal über den IIS4 klappt das ja ganz toll, aber draussen im Netz bekomme ich folgende Fehlermeldung:
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.
/test.asp, line 8
Wäre absolut spitzenmässig, wenn mir hier jemand weiterhelfen könnte.
Liebe Grüsse und vielen Dank im Voraus
Hallo Klaus,
»» 8: v_kaernten.Open "FileDSN=" & Server.MapPath("cgi-bin/kaerntner_net.dsn") & "; DBQ=" & Server.MapPath("cgi-bin/") & ";"
das hier keine Datenbank angegeben ist (DBQ=), gehe ich mal davon aus,
daß die DB in der dsn-Datei angegeben wird. Der Pfad stimmt sehr wahrscheinlich
nicht, so daß der Treiber die DB nicht findet und den Fehler rausschmeisst.
Tschau, Stefan
Hi!
Das ging aber schnell! Leider hat's mir noch nicht ganz geholfen.
Inzwischen hab ich ein bisschen rumprobiert. Aber der Fehler bleibt.
Ich habe bemerkt, dass ich in der ODBC-Quelle einen physischen Pfad angegeben habe. Aber beim Versuch einen virtuellen Pfad einzugeben, scheiterte ich erneut.
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=MS Access
DriverId=25
DefaultDir=F:\Projekte\Projekte\kaerntner-net2\cgi-bin
DBQ=F:\Projekte\Projekte\kaerntner-net2\cgi-bin\kaernten.mdb
Die Verzeichnisstruktur:
www/ ... hier liegt das ASP-File
www/cgi-bin/ ... hier liegen die FileDSN und die DB
Vielleicht kannst Du mir nochmal helfen.
Vielen Dank im Voraus
Klausi
Hallo Klaus,
8: v_kaernten.Open "FileDSN=" & Server.MapPath("cgi-bin/kaerntner_net.dsn") & "; DBQ=" & Server.MapPath("cgi-bin/") & ";"
in
v_kaernten.Open "FileDSN=" & Server.MapPath("cgi-bin/kaerntner_net.dsn") & "; DBQ=" & Server.MapPath("cgi-bin/") & "\kaernten.mdb;"
ändern. Dann sollte es gehen.
Tschau, Stefan
Hi Stefan,
leider funktioniert's immer noch nicht. Die Fehlermeldung ist die gleiche. Lokal hab' ich's probiert, hier geht's.
Liebe Grüsse
Klausi
Hi Stefan,
leider funktioniert's immer noch nicht. Die Fehlermeldung ist die gleiche. Lokal hab' ich's probiert, hier geht's.
Liebe Grüsse
Klausi
Hallo Klaus,
entferne die folgenden Zeilen aus der Datei odbc.dsn:
DefaultDir=F:\Projekte\Projekte\kaerntner-net2\cgi-bin
DBQ=F:\Projekte\Projekte\kaerntner-net2\cgi-bin\kaernten.mdb
Tschau, Stefan
Hi Stefan!
Vielen Dank für Deine Bemühungen. Hab's gerade ausprobiert und es klappt. Du hast mir damit sehr geholfen. Überhaupt muss ich mal dieses Forum loben, da ich schon viele Informationen über HTML & Co gewonnen habe. Da ich mein Wissen über ASP jeden Tag auf's neue ausreize, werde ich wohl noch öfter Fragen posten. Spätestens dann wenn ich PHP professionell zum Einsatz bringen will.
Also dann,
einen schönen Tag und nochmals 1000 Dank!
Schöne Grüsse aus Österreich
Klausi