Siggi: Datenbank einbinden verzweifelt versucht

Hallo Leutchen!

Seit inzwischen unglaublich verzweifelten 9 Tagen versuche ich, Daten aus einer Datenbank per ASP abzurufen, bzw. überhaupt einmal eine Datenbank per ASP anzusprechen. Ich möchte später natürlich auch Daten in eine Datenbank reinschreiben, Tabellen erstellen usw. Allerdings: Es gelingt mir einfach nicht! Trotz inzwischen aller Versuche, Tips, Tricks, kein Erfolg. Auch an System-DSN und Datei-DSN habe gedacht. Auch dies brachte nicht das gewünschte Ergebnis

Kann mir jemand einen einfachen Code zeigen, wie nun eigentlich eine Datenbank per ASP angesprochen werden kann, damit ich nun endlich irgendwie weiss, wie denn nun dies funktioniert. Auch für Hinweise, Tips, Ratschläge, Meinungen usw. wäre ich dankbar.  Ebenso wie Hinweise für Dokumentationen bezüglich ASP bin ich aufgeschlossen.

<% @ Language=VBScript %>

<html><head><title>Datenbankversuch</title></head>

<!-- #include file="adovbs.inc" -->
<body>
<%
Ausg = "SELECT * FROM tbP"
DSNString = "DSN=TestV"
CursorTyp = adOpenStatic
LockTyp = adLockReadOnly
Optionen = adcmdText

Set OVerbindung = Server.CreateObject("ADODB.Connection")
Set ORecord = Server.CreateObject("ADODB.RecordSet")
OVerbindung.ConnectionString = DSNString
ORecord.Open Ausg,OVerbindung,CursorTyp,LockTyp,Optionen

While not ORecord.EOF
Response.Write(Objekt("Name"))
ORecord.MoveNext
Wend

ORecord.Close
Set ORecord = Nothing
%>
</body></html>

Übrigens: Dies ist nur eine Variante, ich habe mehrere Varianten ausprobiert, direkt mit dem Ansprechen eines Treibers, usw.usw.usw.usw.usw.usw.usw.usw.usw.usw.usw.usw.usw.usw.

Eine mögliche Fehlermeldung hierzu:

Microsoft OLE DB Provider for ODBC Drivers-Fehler '80004005'

[Microsoft][ODBC Driver Manager] Datenquellenname nicht gefunden und kein Standardtreiber angegeben

/Default.asp, Zeile 12

Für eine Antwort, die irgendwie zum Ziel führt, wäre ich unheimlich dankbar! (Sonst schmeiss ich diesen blöden PC noch zum Fenster raus!)

Thänks & CU & Much Viele Grüsse
Siggi

  1. Hi Siggi,
    ich hab das bei unserer SQL-Datenbank immer so gemacht:

    set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "UID=Benutzer;PWD=Passwort;DSN=DSN der Datenbank"

    sqlabfrage="select * from Tabellennamen'"
    set rsergebnist = conn.Execute(sqlabfrage)

    do while not rsergebnis.eof
    Response.Write(rsergebnis("Spaltenname"))
    rsergebnis.MoveNext
    loop

    die Fehlermeldung weist meines Erachtens aber darauf hin das irgendwas mit der DSN nicht stimmen könnte

    Viel Glück

    Johannes

    1. Hi Siggi,
      ich hab das bei unserer SQL-Datenbank immer so gemacht:

      set Conn = Server.CreateObject("ADODB.Connection")
      Conn.Open "UID=Benutzer;PWD=Passwort;DSN=DSN der Datenbank"

      sqlabfrage="select * from Tabellennamen'"
      set rsergebnist = conn.Execute(sqlabfrage)

      do while not rsergebnis.eof

      »»  Response.Write(rsergebnis("Spaltenname"))
      »»  rsergebnis.MoveNext

      loop

      die Fehlermeldung weist meines Erachtens aber darauf hin das irgendwas mit der DSN nicht stimmen könnte

      Viel Glück

      Johannes

      Grüß Euch beide,

      so wie Johannes es macht, läuft es bei mir auch tadellos, sogar als INCLUDE. Wenn die Datenquelle nicht gefunden wird, mal nachschauen, was als Server in der FILE-DSN eingetragen ist, Port checken und DB-Name checken... und dann nochmal wie Johannes Vorschlag.

      Viel Glück

      Frank

      1. Hallo Johannes und Frank,

        zunächst: Thänks very matsch! Ich habe diesen Code reingeschrieben, eine neue DSN erstellt,
        überprüft, ob alles mit der DB passt, und dann:

        Funktioniert es!

        Aber mal ehrlich: Könnt Ihr mir den Unterschied erklären, warum dies funktioniert, und die nachfolgenden
        Anweisungen nicht funktionierten? Ich habe dies bereits am Mittwoch geschrieben

        <% @ Language=VBScript %>
        <% Option Explicit %>

        <html><head><title>Dbversuch</title></head>

        <!-- #include file="adovbs.inc" -->

        <body>

        Alle Vornamen aus DB Pers.mdb, Tabelle tbP

        <%

        'Öffnen der Verbindung z. DB über System-DSN
        Set Verb = Server.CreateObject("ADODB.Connection")
        Verb.Open "DSN=TestV"

        'SQL-Abfrage starten
        SQLA = "select * from tbP"
        Set RSet = Verb.Execute(SQLA)

        'Abfrage-Schleife, evtl. noch bof????
        while not RSet.eof
        Response.Write(RSet("Vorname"))
        RSet.MoveNext
        %> <BR> <%
        wend

        'Schliessen der Verbindungen
        Verb.Close
        Set Verb = Nothing
        %>
        </body></html>

        Auf jeden Fall: Jetzt kann ich endlich wieder weiterarbeiten. Vielen Dank!!!

        Jetzt werfe ich zwar mein PC nicht weg, aber wohl dafür mein ASP-Buch, weil in diesem fehlerhafte Codes
        sind. Kennt Ihr eigentlich eine gute WWW-Adresse für ASP?

        Ich möchte irgendwann meine ASP-Seiten ins Web stellen, allerdings: bei T-Online geht kein ASP, SQL
        usw.  (Meine letzte Frage:) Kennt Ihr da einen kostengünstigen mit viel Speicher, super Service und
        möglichst keine Werbung?

        Nochmals: Thänks!
        Viele Grüsse
        Siggi

        Hi Siggi,
        ich hab das bei unserer SQL-Datenbank immer so gemacht:

        set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "UID=Benutzer;PWD=Passwort;DSN=DSN der Datenbank"

        sqlabfrage="select * from Tabellennamen'"
        set rsergebnist = conn.Execute(sqlabfrage)

        do while not rsergebnis.eof
        »»  Response.Write(rsergebnis("Spaltenname"))
        »»  rsergebnis.MoveNext
        loop

        die Fehlermeldung weist meines Erachtens aber darauf hin das irgendwas mit der DSN nicht stimmen könnte

        Viel Glück

        Johannes

        Grüß Euch beide,

        so wie Johannes es macht, läuft es bei mir auch tadellos, sogar als INCLUDE. Wenn die Datenquelle nicht gefunden wird, mal nachschauen, was als Server in der FILE-DSN eingetragen ist, Port checken und DB-Name checken... und dann nochmal wie Johannes Vorschlag.

        Viel Glück

        Frank