SO WIRD'S GEMACHT: Manuelles Codieren einer ADO-Datenverbindung in ASP

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
299980 HOW TO: Hand Code an ADO Data Connection in ASP

Zusammenfassung

Diese schrittweise Verfahrensanweisung veranschaulicht das manuelle Codieren einer ADO-Datenverbindung (ActiveX Data Objects) in einer ASP-Seite (Active Server Pages).


Für die Zwecke dieses Beitrags wird in dem nachzuvollziehenden Beispiel die Beispieldatenbank Northwind verwendet und eine ADO-Verbindung sowohl mit Microsoft Access als auch mit Microsoft SQL Server 7.0 oder 2000 eingerichtet.


Die Verbindungszeichenfolge

Die Verbindungszeichenfolge ist einfach eine Sammlung von Zeichenfolgenwerten, die die Verbindungsinformationen der Datenbank enthalten. Z. B. verweist die folgende Zeichenfolge auf die Access-Datenbank:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mydatabase\Northwind.mdb
wobei C:\Mydatabase\Northwind.mdb für den Quellpfad steht, den Sie ändern sollten, um die richtigen Pfadinformationen für die Datenbank Northwind wiederzugeben.


Die folgende Zeichenfolge verweist auf SQL Server:
Provider=SQLOLEDB;Server=Your_Server_Name;Database=Northwind; & _
UID=your_user_account;PWD=your_password;
wobei Sie die Parameter Server, UID und PWD ändern sollten, um den richtigen Servernamen, den Benutzernamen und das Kennwort für den Zugriff auf die Datenbank wiederzugeben.


Aktivieren der Verbindungszeichenfolge

Dieser Abschnitt stellt Beispielcode vor, um eine bessere Vorstellung von den Vorgängen zu vermitteln.


  1. Zeigen Sie im Windows-Menü Start auf Programme, zeigen Sie auf Zubehör, und klicken Sie dann auf Editor.
  2. Markieren Sie den folgenden Code, klicken Sie mit der rechten Maustaste darauf, und klicken Sie dann auf Kopieren. Klicken Sie im Editor im Menü Bearbeiten auf Einfügen, um den folgenden Code im Editor einzufügen:
    <HTML>
    <HEAD>
    <title>ADO Open-Methode</title>
    </HEAD>
    <BODY>


    <H3>ADO Open Method</H3>
    <TABLE WIDTH=600 BORDER=0>
    <TR>
    <TD VALIGN=TOP COLSPAN=3>
    <FONT SIZE=2>
    <%
    ' Remember to change the path to Northwind.mdb
    ' to match the location on your system.
    src = "C:\Database\Northwind.mdb"
    sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
    ' Uncomment the next two lines and comment the above line to switch between Access and SQL.
    'sConnStr = "Provider=SQLOLEDB;Server=Your_Server_Name;Database=Northwind;" & _
    '"UID=your_user_account;PWD=your_password;"

    'Create and open the Connection object.
    Set OBJdbConn = Server.CreateObject("ADODB.Connection")
    OBJdbConn.Open sConnStr
    SQLQuery = "SELECT * FROM Customers"

    'First Recordset RsCustomerList
    Set RsCustomerList = OBJdbConn.Execute(SQLQuery)
    %>

    <TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>
    <!-- BEGIN column header row for Customer Table-->
    <TR CLASS=thead>
    <TD>Company Name</TD>
    <TD>Contact Name</TD>
    <TD>City</TD>
    <TD>State/Province</TD>
    </TR>

    <!--Display ADO Data from Customer Table-->
    <% Do While Not RScustomerList.EOF %>
    <TR CLASS=tbody>
    <TD> <%= RSCustomerList("CompanyName")%> </TD>
    <TD> <%= RScustomerList("ContactName")%></TD>
    <TD> <%= RScustomerList("City")%> </TD>
    <TD> <%= RScustomerList("Region")%> </TD>
    </TR>
    <!--Next Row = Record Loop and add to html table-->
    <%
    RScustomerList.MoveNext
    Loop
    RScustomerList.Close
    Set RScustomerList = Nothing
    OBJdbConn.Close
    Set OBJdbConn = Nothing
    %>
    </TABLE>
    </BODY>
    </HTML>
  3. Klicken Sie im Editor im Menü Datei auf Speichern. Speichern Sie das Dokument mit dem Dateinamen Adopage.asp in der standardmäßigen Website auf dem Server, die sich normalerweise unter C:\InetPub\Wwwroot befindet.
  4. Starten Sie zum Anzeigen der Seite den Webbrowser, und geben Sie den HTTP-Speicherort der Seite in der Adressleiste ein. Wenn Sie die Datei am oben angegebenen Speicherort gespeichert haben, geben Sie
    http://< servername >/Adopage.asp
    in der Adressleiste ein.

Codeerläuterung

  • Beachten Sie im vorstehenden Beispielcode den folgenden Code:
    src = "C:\Database\Northwind.mdb"
    sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
    ' Uncomment the next two lines and comment the above line to switch between Access and SQL.
    'sConnStr = "Provider=SQLOLEDB;Server=Your_Server_Name;Database=Northwind;" & _
    '"UID=your_user_account;PWD=your_password;"
    Dieser Code ist aktuell für das Verbinden mit einer Access-Datenbank ausgelegt. Kommentieren Sie zum Verbinden mit einer SQL Server-Datenbank die Zeile für den Access-Anbieter aus, und entfernen Sie die Kommentarzeichen in den Zeilen für SQL Server. Fügen Sie zum Auskommentieren einer Zeile ein Apostroph (') am Anfang der Zeile ein. Entfernen Sie das Apostroph vom Anfang der Zeile, um die Auskommentierung rückgängig zu machen. Der revidierte Code wird wie folgt angezeigt:
    src = "C:\Database\Northwind.mdb"
    'sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
    ' Uncomment the next two lines and comment the above line to switch between Access and SQL.
    sConnStr = "Provider=SQLOLEDB;Server=Your_Server_Name;Database=Northwind;" & _
    "UID=your_user_account;PWD=your_password;"
  • In der folgenden Codezeile wird der Vorgang des Erstellens der ADO-Verbindung begonnen:
    Set OBJdbConn = Server.CreateObject("ADODB.Connection") 
    Anschließend wird der Befehl Open ausgeführt und die Verbindungszeichenfolge wie folgt übergeben:
    OBJdbConn.Open sConnStr

Problembehandlung

Wenn Sie ADO in ASP verwenden, stellen Sie immer die folgenden Punkte sicher:
  • Schließen Sie immer die Recordsets und Verbindungen. Beispiel:
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing
    Weitere Informationen erhalten Sie, wenn Sie auf die Artikelnummer unten klicken, um den betreffenden Beitrag in der Microsoft Knowledge Base anzuzeigen:

    176056 INFO: ADO/ASP Scalability FAQ
  • Öffnen Sie spät, und schließen Sie früh. Öffnen Sie ADO-Objekte erst unmittelbar vor ihrer Verwendung, und schließen Sie sie, sobald Sie fertig sind. Dies gibt Ressourcen frei, während andere Logik verarbeitet wird.
  • Erstellen Sie keine ADO-Objekte in Sitzungsvariablen. Dadurch würden MTX-Verbindung und das Poolen von Threads effektiv umgangen. Wenn Threads nicht gepoolt sind, kann jedes Objekt, das für Benutzer erstellt wird, einen Thread an sich binden. Ferner kann, wenn das Objekt nicht ausdrücklich geschlossen wird, eine Sitzungsobjektvariable einen Thread für die Lebensspanne einer Sitzung beanspruchen (standardmäßig 20 Minuten nach dem letzten Klick).
  • Übergeben Sie in der Ausführungsanweisung keine Parameter an das Objekt Command.
  • Instantiieren Sie Objekte mit der Methode Server.CreateObject, wenn Sie die Objekte nicht durch eine Firewall marshallen. Server weist MTS (Microsoft Transaction Server) an, das Objekt in einem Transaction Server-Paket zu erstellen, so dass die Ressourcen gepoolt werden.


    HINWEIS: Dies bezieht sich nicht auf Microsoft Internet Information Services (IIS) 5.0 oder Microsoft COM+.
  • Verwenden Sie die Variablen Recordset oder Command nicht mehrfach; erstellen Sie neue.
    Weitere Informationen erhalten Sie, wenn Sie auf die Artikelnummer unten klicken, um den betreffenden Beitrag in der Microsoft Knowledge Base anzuzeigen:

    197449 PRB: Problems Reusing ADO Command Object on Multiple Recordsets

VERWEISE

ADO-Produktinformationen finden Sie auf der folgenden Microsoft-Website:
Weitere Informationen über das Microsoft Data Access Components (MDAC) 2.6 Software Development Kit (SDK) finden Sie auf der folgenden Microsoft-Website:


Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 299980 – Letzte Überarbeitung: 10.03.2003 – Revision: 1

Feedback