Datenbanken
Universal Data Link - Datenbankverbindung leicht gemacht
UDL-Dateien einsetzen
Zum ersten Mal bin ich auf UDL-Dateien (Universal Data Link) gestoßen, als
ich einen OLEDB-Verbindungszeichenfolge zum Aufbau einer Datenbankverbindung
aus einer VB-Anwendung heraus benötigte und in der Syntax ein Fehler steckte,
den ich nicht finden konnte. Was ich brauchte war eine Art ConnectionString-Editor.
Die ADO-Controls unter VB geben so etwas zwar her, aber das schien mir zu umständlich.
Eine kurze Recherche im Internet brachte mich auf die Lösung...
Eine UDL-Datei ist nichts anderes als eine OLEDB-Verbindungszeichenfolge
in Dateiform, wobei der Inhalt der Datei ähnlich einer INI-Datei aufgebaut ist.
Eine solche Textdatei zu erzeugen ist denkbar einfach. Einfach im Explorer einen
neue Textdatei erzeugen und die Dateierweiterung nach UDL umbennenen. Mit einem
Doppelklick auf die Datei öffnet sich das Dialogfeld Dateiverknüpfungseigenschaften,
dass die Microsoft Data Access Components (MDAC) als allgemeine Schnittstelle
zu Erstellung von Verbindungsdaten bieten.
Wie nicht anders erwartet können über UDL-Dateien nur OLEDB-Provider verwendet
werden. Andere Treibermodelle bleiben außen vor, was aber nicht schadet, denn
zum einen sind inzwischen auch für fast alle Nicht-Microsoft-Produkte wie MySQL,
etc. OLEDB-Provider (Treiber-DLL) verfügbar und zum anderen ist der Datenzugriff
über diese Schnittstelle so ziemlich die schnellste.
Beispiel für eine Verbindungszeichenfolge zu einem SQL-Server gem. Abb.:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Password=kennwort;Persist Security Info=True;User ID=admin;Initial
Catalog=MeineDatenbank;Data Source=MeinSQLServer
Neben dem von mir damals benötigten Editor-Effekt bieten UDL-Dateien die
Möglichkeit auf im Code hinterlegte ConnectionStrings in VB- oder ASP-Anwendungen
gänzlich zu verzichten. Man muss nicht ein neues Kompilat erzeugen, wenn sich
die Datenbankverbindung geändert hat oder eigene Konfigurationsdateien stricken.
Eine ADODB-Connection über eine UDL-Datei aufzubauen ist denkbar einfach (hier
ASP):
strUDLFile = Server.MapPath("/config/sqldata.udl")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "file name=" & strUDLFile
Das hat Charme, aber auch einen Nachteil. Benötigt man ein Passwort für den
Zugriff z.B. auf einen SQL-Server, muss dieses unter Umständen in der Verbindungszeichenfolge
enthalten sein. Da eine UDL-Datei jedoch eine reine Textdatei ist, kann sie
aber leicht von jedermann ausgelesen werden, da lesender Zugriff ja erlaubt
sein muss.