Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Universal Data Links mit ASP verwenden

Geschrieben von: Thomas Rüger
Kategorie: Datenbank

Mit ASP gibt es viele Möglichkeiten um auf eine Datenbank zuzugreifen. Neben ODBC und direkter Codierung gibt es auch noch die Verwendung von Universal Data Links (UDL). Dieser Artikel gibt Ihnen einen Walkthrough durch die Erstellung von Universal Data Link Dateien (Erweiterung *.udl) und erläutert auch die Vorteile die sich durch ihre Verwendung ergeben.

Zuerst werde ich ihnen die Erstellung von UDL Dateien für den Zugriff auf MS Access und SQL Server Datenbanken vorstellen, und dadurch gleichzeitig ihren Gebrauch auch außerhalb von ASP aufzeigen. Abschließend zeige ich Ihnen ein einfaches ASP Beispiel, das eine UDL Datei verwendet, um Daten aus einer MS Access Datenbank zu gewinnen.

Voraussetzungen für die Verwendung von UDLs

Um UDLs verwenden zu können benötigen Sie eine neuere Version der Microsoft Data Access Components (MDAC). Die MDAC werden derzeit zu fast jeder Microsoft Anwendung mitgeliefert und auch standardmäßig installiert. Solche Anwendungen wären z.B. der SQL-Server, Internet Explorer oder Office 2000. Um immer am neuesten Stand zu bleiben, sollten Sie aber die aktuelle Version von der Microsoft Universal Data Access Homepage downloaden. Für den Fall, daß Sie mit Windows 9x arbeiten, benötigen Sie zusätzlich noch DCOM 95/98.

Beginnen wir mit dem Kochrezept für die Erstellung einer UDL Datei für eine Verbindung zu einer MS Access Datenbank.

UDL's für MS Access Datenbanken

Nach Installation der MDAC öffnen Sie den Explorer und navigieren in das Verzeichnis, in dem die UDL Datei erstellt werden soll (z.B. \Inetpub\wwwroot\WebSite\UDLFiles). Natürlich kann die Datei auch außerhalb des Webverzeichnisses liegen (aus Sicherheitsgründen sogar vielleicht besser).

Im Verzeichnis erstellen Sie mit Hilfe des Kontextmenüs eine neue Textdatei. Diese benennen Sie z.B. UDL_Acc.udl. Wichtig dabei ist, daß die Datei die Erweiterung "udl" erhält.

Danach klicken Sie mit der rechten Maustaste auf die eben erstellte Datei und öffnen deren Eigenschaften:

Sie erhalten nun neben den allgemeinen Dateieigenschaften die UDL-spezifischen Konfigurationsmöglichkeiten für eine Verbindung. Da unsere neu erstellte Datei noch keine Verbindungsinformationen enthält, beginnen wir mit dem Provider-Tab und wählen den Microsoft Jet OLEDB Provider:

Die angezeigten Treiber hängen von der jeweiligen Version der MDAC ab. Zusätzliche Treiber, insbesondere von Fremdanbietern, können natürlich auch enthalten sein.

Nun klicken Sie auf Next und im Connections Tab geben wir die Verbindungseigenschaften an:

Wie Sie aus den Verbindungsinformationen entnehmen können, ist die Angabe eines Paßwortes möglich. Dieses Paßwort wird nur von der UDL verwendet, kann also vom Benutzer des IIS differieren. Aber dieses Paßwort wird immer im Klartext in der UDL abgespeichert. Für ASP bietet dies den Vorteil, daß ein Paßwort nicht in die ASP-Datei eingetragen werden muß. Andererseits liegt das Paßwort für jeden Zugriffsberechtigten auf der Festplatte frei lesbar "herum".

Wie Sie in dem obigen Bild sehen, könnten Sie schon die Verbindung testen, da Sie ja schon die wichtigsten Verbindungsinformationen angegeben haben. Jedoch sollten Sie vorher noch die Einstellungen im Advanced-Tab bzw. im All-Tab überprüfen.

Im Advanced-Tab können Sie netzwerkspezifische Einstellungen treffen und die Zugriffsrichtlinien angeben:

Diese Erweiterungen hängen jedoch wesentlich von der Wahl des Providers ab.

Im All-Tab sind nochmals alle Verbindungsinformationen enthalten. Hier können Sie alle getroffenen Einstellungen überprüfen bzw. ändern:

Eine Korrektur ist jederzeit über die Schaltfläche Edit Value (Wert bearbeiten) oder durch Doppelklick auf einen Eintrag möglich:

Nachdem alle Eingaben getätigt wurden, können Sie nun die Verbindung testen indem Sie im Connection-Tab auf den Button Test Connection klicken. Wenn alle Parameter richtig angegeben wurden, wird der Test erfolgreich beendet.

Dies ist ein Vorteil gegenüber der "Do-It-Yourself" Verbindungseintragung im ASP-Code. Ein Testlauf auf dem Webserver ist hier zum Testen der Verbindung nicht notwendig. Eventuelle Fehlerquelleninformation über ASP-Code oder Webserver sind hier definitiv nicht zu erwarten, da die Dialogbox der Meldung nur anzeigt, ob der Vorgang erfolgreich war oder nicht.

Nachdem Sie nun alle erforderlichen Angaben getätigt haben und die Verbindung getestet wurde, ist ein Blick in die eben generierte UDL Datei interessant:

Wie Sie sehen, ist dies nichts anderes als die DSN Einträge für eine Connection. Jedoch lassen sich hiermit eventuelle Flüchtigkeitsfehler vermeiden.

UDL's für SQL Server

Da für einen größeren Datenbestand SQL Datenbanken eingesetzt werden und der SQL Server gegenüber Access um einiges leistungsfähiger ist, hier noch die Erstellung einer UDL Datei für eine SQL Datenbank. Im Prinzip ist es derselbe Vorgang, nur ergeben sich hierbei natürlich SQL Server spezifische Einstellungen.

Wir wählen nun den SQL Provider:

Wir gelangen wieder zum Connections-Tab, wenn wir auf den Next-Button klicken:

Zuerst wählen wir den gewünschten Datenbank Server aus, und wählen dann die Authentifizierungsart aus. Was noch fehlt ist die Auswahl der Datenbank - in diesem Fall wieder einmal die Northwind SQL Datenbank.

Im Advanced-Tab haben Sie wiederum die Möglichkeit netzwerkspezifische Einstellungen zu treffen und einen Timeout für die Verbindung bei Fehlschlag anzugeben. Da die Zugriffsberechtigungen bei Verwendung eines SQL Servers im SQL Enterprise Manager angegeben werden, ist die Access Permissions Auswahlliste inaktiv.

Im All-Tab sind wie im vorig besprochenen Beispiel für Access Datenbanken alle Eigenschaften aufgelistet und editierbar. Sehen wir uns - bevor ich Ihnen ein kurzes ASP Beispiel für die Verwendung der UDL Dateien präsentiere - den generierten Code der UDL Datei (UDL_SQL.udl) an:

Und jetzt: UDL in ASP verwenden

Jetzt haben wir die Hintergründe zu UDL, den Aufbau und die Erzeugung fertig durchbesprochen - und nun kommen wir zur Verwendung von UDL in ASP Dateien.

Das Beispiel enthält eine ASP Datei (testUDL.asp) welche mittels der UDL Datei UDL_Acc.udl auf eine Access Datenbank zugreift (udl_2k.mdb). Zum Zwecke der Demonstration ist die Datenbank nicht passwortgeschützt und enthält auch nur eine Tabelle namens TUDL:

Der Sourcecode der ASP Datei sieht wie folgt aus:

<%@language="VbScript"%>
<%
Response.Buffer = True
Response.Expires = 0
Dim objConn
Dim strSQL
Dim objRS
Dim strPath

'Hier noch ihre Pfadangaben ergänzen:
strPath = Server.MapPath("/UDL/UDLFiles/UDL_Acc.udl")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "file name=" & strPath
strSQL = "SELECT * FROM Tudl"
Set objRS= objConn.Execute(strSQL)
While Not objRS.EOF  
  Response.Write objRS("TudlText").Value & "<br>" 
  objRS.MoveNext
Wend
%>

Die interessante Zeile ist die mit der Öffnung der Connection über den Aufruf der UDL_Acc.udl Datei. Bei Verwendung von UDL Dateien muß diese nicht mehr im Webserververzeichnis liegen. Die UDL Datei habe ich hier in einem separaten Unterverzeichnis abgelegt, um unerlaubten Zugriff zu erschweren. Der Benutzer mit Zugriff auf Ihre Site benötigt ebenfalls keine Schreibberechtigung. Diese können Sie einem Benutzer übergeben, welcher nur in der UDL steht.

Weitere Zugangsdaten werden in der ASP Datei nicht benötigt, d.h. können auch von außen nicht eingesehen werden.

Schlußbemerkung

Dieser Artikel gab Ihnen eine einfache Anleitung für die Erstellung von UDL Dateien, welche entweder eine Verbindung zu MS Access oder MS SQL Server Datenbanken herstellen. Die Verwendung von UDL Dateien bietet eine menügestützte und somit auch eine fehlerfreie Verbindungserstellung zu Datenbanken.

Weitere Vorteile sind die Trennung zwischen ASP-Code und Verbindungsinformationen - die Verbindungsinformationen können außerhalb des IIS Contextes liegen - und Sie können nun getrost auf die Erstellung von User bzw. System DSNs verzichten.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

ADO Component Checker Tool
ADO und ASP - Datenbanken einmal näher betrachtet
ADO und MDAC Versionen
ODBC und ASP - Eine DSN zur Verwendung mit ASP definieren

Links zu anderen Sites

Microsoft Universal Data Access Homepage

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©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.