Datenbankverbindung

Leg Dir einfach eine Datei an, nenn diese connection.asp.

In diese Datei speicherst Du folgendes rein

Code:
dim strDatabase
strDatabase = "Provider=microsoft.Jet.OLEDB.4.0; Data Source=e:\xxx\xxx\xx\xxxx\xxx\anmeldung.mdb"

allerdings mit dem korrekten Pfad!
In dieser Datei steckt jetzt die Variable für die Verbindung zur Datenbank. (Du kannst das jetzt irgendwie mit einer SystemDSN vergleichen). In jeder Seite, wo Du eine Verbindung zur Datenbank aufbauen willst, kannst Du die Seite includieren.

<!--#include file="connection.asp" -->

Auch hier muss der Pfad natürlich stimmen.

Im Script selbst öffnest du Die Connection nun wie folgt

Code:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDatabase

Also, wo vorher jetzt Dein DSN-Namen stand, steht nun die Variable strDatabase.

Mehr kann ich da jetzt auch wirklich nicht zu sagen. :)
 
Was für einen Pfad denn? Der wo in der config.asp stand? Der hat doch damit garnichts zu tun, oder?
Ich habe doch nur den Ordner ec wo die xxx.mdb drin ist.
Ich frage nur weil du den Pfad von der congfig.asp genommen hast als Beispiel.
 
Hi

ich habe Dir doch per pn geschrieben, wie Du den Pfad ermitteln kannst, lass Dir die Servervariable ausgeben.

Der Pfad in der Config ist die übliche Syntax, die man vewenden kann.

Nimm den absoluten Pfad, dann hast Du am wenigsten Probleme mit unterschiedlichen Verzeichnistiefen, wo Du die Connection später anwenden willst. Ich kenne Deine Verzeichnistiefen nicht.

PROBIERE ES EINFACH MAL
 
Ich habe die Connection so gemacht:

<%
dim strDatabase
strDatabase = "Provider=microsoft.Jet.OLEDB.4.0; Data Source=Anmeldung.mdb"
%>

Bekomme aber diese Fehlermeldung:
Microsoft JET Database Engine error '80004005'

Could not find file 'c:\windows\system32\inetsrv\Anmeldung.mdb'.

/ec/managerproducts.asp, line 66

wenn ich den Pfad nehme von der config.asp funktioniert es aber auch nicht. Obwohl ich meine DB in den anderen Ordner gelegt habe. wo der Pfad hin verweisst.

Ich weiss ich nerv dich wahrscheinlich schon. Aber es wär wirklich lieb wenn du mir nochmal helfen könntest
 
sunflower84 hat gesagt.:
Ich habe die Connection so gemacht:

<%
dim strDatabase
strDatabase = "Provider=microsoft.Jet.OLEDB.4.0; Data Source=Anmeldung.mdb"
%>

Das geht nicht

Entweder den absoluten Pfad e:\....

oder

die Datei im Server.mappath() aufrufen. Hier wird sich am Stammverzeichnis orientiert.

strDatabase = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("anmeldung.mdb") & ";"

http://www.devguru.com/technologies/asp/quickref/server_mappath.html
 
Zuletzt bearbeitet:
hallo nochmal

Also wenn ich den Pfad nehme von der config.asp e:xxxxx usw. Und die Anmeldung.mdb natürlich auch dort rein lege. Bekomme ich keine Fehlermeldung. Aber in die Datenbank schreibt er mir trotzdem nichts.

Was mach ich denn da jetzt?

lg
Sunflower
 
Wenn ich das mit Server.MapPath mache dann bekomme ich auch keine Fehlermeldung. Aber in die Datenbank schreibt er mir auch nichts.

Irgendwie muss das doch funktionieren. :(
 
Wenn kein Verbindungsfehler kommt, dann liegt es an etwas anderem, dass der Eintrag nicht passiert.

Wenn alle Berechtigungen auf dem Server stimmen, ist ein Eintrag unabhängig von der Verbindung möglich. Wenn eine Verbindung besteht, und die Berechtigungen stimmen, kann auch ein Datensatz eingetragen werden.

Gib doch mal testweise auf dem Server Daten aus (über ein Select und ein Recordset )

Wenn die Berechtigungen nicht stimmen, kommt eine Fehlermeldung.

Unter Umständen ist die jet-Engine etwas pingeliger, was die Spaltennamen anbetrifft, z.b. bei gleichen Spaltennamen in Tabellen, die über eine Beziehung aufgerufen werden, akzeptiert er kein *, aber das wird auch als Fehler mitgeteilt.

Hier nochmal ein Script für eine Fehlerroutine, wenn man Verbindungen testen möchte.

Code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% 
on error resume next

dim StrDatabase
strDatabase = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("anmeldung.mdb") &  ";" 
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDatabase
If Err <> 0 Then
        Response.Write "Verbindung wrude nicht hergestellt."
        Else
            Response.Write "Die Verbindung wurde hergestellt."
    End if

    objConn.Close
Set objConn = Nothing
%>
 
Wenn ich das jetzt in die Connection.asp einbinde, sagt er Seite kann nicht angezeigt werden.

Das kommt doch in die Connection,oder?
 
Zurück