General error: Invalid file dsn
Octewu
- asp.net
Hi,
ich habe folgendes Problem:
Ich möchte auf meiner ASP-Seite eine Access-Datenbank einbinden. So weit, so gut.
Mit dem Laufwerk des Servers, auf dem die Webseiten liegen, habe ich mich im Netzwerk als Laufwerk F:\ verbunden. Vom Server aus gesehen ist es sein Laufwerk C:\ .
Vom Server aus gesehen, liegen meine Dateien im Verzeichnis:
c:\ibbinfo\weihnacht\test\praesent.asp (ASP-Seite)
c:\ibbinfo\weihnacht\test\praesent.dsn (FileDSN)
c:\ibbinfo\weihnacht\test\praesent.mdb (Accessdatenbank)
Die Webseiten (Intranet) kann man folgendermaßen aufrufen:
http://ibbinfo/weihnacht/test/praesent.asp
Dann bekomme ich immer folgende Fehlermeldung im Browser:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
General error: Invalid file dsn 'c:\ibbinfo\weihnacht\test\praesent.dsn'
/weihnacht/test/praesent.asp, line 11
Zeile 11 ist die Zeile: conn.open "FILEDSN=c:\ibbinfo\weihnacht\test\praesent.dsn"
Hier ist meine ASP-Seite (praesent.asp):
<html>
<head>
<title>Präsentationen</title>
</head>
<body>
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "FILEDSN=c:\ibbinfo\weihnacht\test\praesent.dsn"
sql= "SELECT * FROM Dateien"
set rs = conn.Execute(sql)
rs.MoveFirst
%>
<table border=1 cellpadding="4" cellspacing="0">
<%
DO WHILE NOT rs.EOF
response.write "<tr>"
FOR EACH x in rs.fields
response.write "<td valign=top>"
response.write x.value
response.write "</td>"
NEXT
response.write "</tr>"
rs.MoveNext
LOOP
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
</body>
</html>
Und das ist meine FileDSN:
[ODBC]
DRIVER=Microsoft Access-Treiber (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=MS Access
DriverId=25
DefaultDir=c:\ibbinfo\weihnacht\test
DBQ=c:\ibbinfo\weihnacht\test\praesent.mdb
Jetzt meine Frage:
Was mache ich verkehrt?
Ich habe schon den Pfad in Zeile 11 auf der ASP-Seite in so ziemlich allen Denkbaren varianten ausprobiert. Vielleicht noch nicht mit der richtigen?
Vielen Dank für die Mühe, die du dir damit machst.
Mfg,
Octewu
c:\ibbinfo\weihnacht\test\praesent.asp (ASP-Seite)
c:\ibbinfo\weihnacht\test\praesent.dsn (FileDSN)
c:\ibbinfo\weihnacht\test\praesent.mdb (Accessdatenbank)
Hallo,
also ich kann im Moment nur eine Möglichkeit entdecken.
conn.open "FILEDSN=c:\ibbinfo\weihnacht\test\praesent.dsn"
conn.open "FILEDSN=c:\ibbinfo\weihnacht\test\praesent.dsn;"
-
Aber es wäre besser, wenn Du den DB-Pfad nicht in die DSN-Datei, sondern als Variable in die ASP-Seite einträgst.
<%
DSNFilePath = "filedsn=c:\ibbinfo\weihnacht\test\praesent.dsn"
DBPath = "DBQ=c:\ibbinfo\weihnacht\test\praesent.mdb"
conn.open DSNFilePath & ";" & DBPath & ";UID=admin;PWD=" & DBPwd & ";"
%>
Tschau, Stefan