Geschrieben von: Christian Koller
Kategorie: Datenbank
This printed page brought to you by AlphaSierraPapa
Wenn Sie effizient von ASP Scripts auf Datenbanken zugreifen wollen, dann werden Sie in der ASP Programmierung um ADO (ActiveX Data Objects) nicht herumkommen. Für die technisch Interessierten: ADO ist nichts anderes als ein Objektmodell zur einfachen Handhabung der OLE DB Schnittstelle (Object Linking and Embedding Databases).
Das heißt, daß man Daten von jedem OLE DB Provider (also auch von ODBC) mittels ADO handhaben kann. Typische Anwendungen sind Datenaustausch mit SQL Server, Access, Oracle und ODBC (Open Database Connectivity) Datenquellen im Allgemeinen.
Wenn man nun wissen möchte, welche ADO Version (1.0, 1.5, 2.0, 2.1,...) auf einem Server läuft und welche Eigenschaften eine Connection oder ein Recordset Objekt hat, so kann man sich des nachfolgenden Scripts bedienen.
Das Script erstellt ein Connection Objekt und öffnet damit eine Verbindung zur Datenbank. Danach werden Informationen über ADO, die Datenbank und die zugehörigen Treiber abgefragt. Der letzte Teil des Scripts liefert die Eigenschaften der Connection und des Recordset zurück.
<% ' Autoren: Christian Koller und Christoph Wille ' (c) 1998, http://www.alphasierrapapa.com/ ' ' Sie benoetigen eine ODBC DSN zu einer Datenbank ' um dieses Script laufen zu lassen ' Statt Northwind hier den Namen der ODBC DSN eintragen strDSN = "Northwind" ' Statt sa den Benutzernamen zum Einloggen in die Datenbank eintragen strUser = "sa" ' Hier das Passwort zum Einloggen in die Datenbank eintragen strPwd = "" ' ### Erstellen eines Connection Objektes (Datenbankverbindung) Set conn = Server.CreateObject("ADODB.Connection") ' strDSN: Enthaelt den Namen der ODBC Verbindung zur Datenbank ' strUser: Username zum Einloggen in die Datenbank ' strPwd: Passwort zum Einloggen in die Datenbank ' ### Oeffnen der Datenbankverbindung conn.open strDSN,strUser,strPwd Dim arrI(7), arrP(7) arrI(0) = "DBMS Name: " : arrP(0) = "DBMS Name" arrI(1) = "DBMS Version: " : arrP(1) = "DBMS Version" arrI(2) = "OLE DB Version: " : arrP(2) = "OLE DB Version" arrI(3) = "Provider Name: " : arrP(3) = "Provider Name" arrI(4) = "Provider Version: " : arrP(4) = "Provider Version" arrI(5) = "Driver Name: " : arrP(5) = "Driver Name" arrI(6) = "Driver Version: " : arrP(6) = "Driver Version" arrI(7) = "Driver ODBC Version: " : arrP(7) = "Driver ODBC Version" strInfo = "ADO Version: " & conn.Version & "<BR>" & vbcrlf For intI = 0 to UBound(arrI) strInfo = strInfo & arrI(intI) strInfo = strInfo & conn.Properties(arrP(intI)) strInfo = strInfo & "<BR>" & vbcrlf Next Response.Write "<B>ADO Versions Information</B>:<BR>" Response.Write strInfo Response.Write "<BR>" Response.Write "<B>Eigenschaften des Connection Objektes</B>:<BR>" ' ### Abfragen aller Eigenschaften der Datenbankverbindung For Each connprop In conn.properties Response.Write connprop.name & ": <I>" & connprop & _ "</I><BR>" & vbCRLF Next Response.Write "<BR>" Response.Write "<B>Eigenschaften des Recorset Objektes</B>:<BR>" ' ### Erstellen eines Recordset Objektes Set rsQuery = Server.CreateObject("ADODB.RecordSet") strQuery = "SELECT 0" ' ### Durchfuehren der Datenbankabfrage und Speichern ' des Ergebnisses in der Objektvariablen rsQuery (Recordset) rsQuery.Open strQuery, conn ' ### Abfragen aller Eigenschaften des Recordset Objektes For Each rsprop In rsQuery.properties Response.Write rsprop.name & ": <I>" & rsprop & _ "</I><BR>" & vbCRLF Next ' ### Schliessen der Objekte rsQuery.close conn.close %>
Die wichtigsten Informationen sind sicherlich die ADO Version und die Treiber Informationen. Nicht unwesentlich sind auch die Eigenschaften des Recordset Objektes, die von Datenbank zu Datenbank unterschiedlich sind, so kann man zum Beispiel bei einer Access Datenbank keine Bookmarks setzen.
This printed page brought to you by AlphaSierraPapa
ADO Konstanten und die Datei Adovbs.inc
http:/www.aspheute.com/artikel/20000518.htm
Das SQL Join Statement
http:/www.aspheute.com/artikel/20001023.htm
Die SQL ORDER BY Clause
http:/www.aspheute.com/artikel/20001201.htm
Einfügen eines Datensatzes mit dem INSERT Statement
http:/www.aspheute.com/artikel/20001107.htm
Zugriff auf autom. generierte ID beim Einfügen eines Datensatzes
http:/www.aspheute.com/artikel/20000606.htm
©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.