Der Data Source Name (DSN) ist eine Datenstruktur (zum Beispiel eine URI, oder ein Dateipfad), welche bei Datenbankabstraktions-Frameworks (Datenbankabstraktionsschicht) wie ODBC (Open Database Connectivity), JDBC oder ADOdb die Zugangsdaten beschreibt, die ein Treiber benötigt, um eine Verbindung zu einer bestimmten Datenbank auf Basis eines spezifischen RDBMSs herzustellen.

Der DSN enthält Informationen wie den Namen, das Verzeichnis, und den Treiber der Datenbank, und, basierend auf dem Typ des DSN, die ID und das Passwort des Benutzers.

Je nach Framework unterscheidet sich die Notation des DSN zum Teil gravierend:

Verschiedene Notationen

JDBC

jdbc:sybase://127.0.0.1:700/MyDataBase

PEAR::db (PHP Framework)

mysql://root:rootpw@localhost/MyDataBase

ODBC

Für ODBC-DSNs existieren verschiedene Darstellungsformen. Entweder werden die DSNs 'hartverdrahtet' und als DSN-lose Verbindung direkt im Programmcode eingebaut. Dann ist die Darstellung wie folgt:

  DBQ=C:\TEST\QUERY FILES;DefaultDir=C:\TEST\QUERY FILES; _
  Deleted=1;Driver={Microsoft dBase Driver (*.dbf)}; _
  DriverId=277;FIL=dBase IV;PageTimeout=600;Statistics=0

Darüber hinaus besteht die Möglichkeit, die DSN in der Registry (in älteren Versionen von MS-Query) oder in sogenannten File DSNs zu speichern. Diese Bezeichnung ist von Microsoft etwas unglücklich gewählt, da es sich nicht um eine DSN-Referenz AUF eine Datei (z. B. XML-Datei), sondern um eine DSN-Referenz IN einer Datei handelt.

Dementsprechend kann eine file DSN bzw. eine DSN-Datei die Daten in einer Notation ähnlich wie in einer .ini-Datei enthalten:

  [ODBC]
  DRIVER=Microsoft Excel Driver (*.xls)
  UID=admin
  UserCommitSync=Yes
  Threads=3
  SafeTransactions=0
  ReadOnly=1
  PageTimeout=5
  MaxScanRows=8
  MaxBufferSize=512
  ImplicitCommitSync=Yes
  FIL=excel 5.0
  DriverId=790
  DefaultDir=<drive letter>:\ 
  DBQ=<drive letter>:\<source filename>

ODBC unterscheidet drei Arten von DSN:

  • Benutzer-DSN (User DSN)
  • System-DSN (Machine DSN)
  • Datei-DSN (File DSN)

Benutzer- und System-DSNs sind rechnerspezifisch und speichern die DSN-Informationen in der Registrierung. Ein Benutzer-DSN erlaubt Datenbankzugriffe für einen einzelnen Benutzer auf einem einzelnen Rechner, ein System-DSN für jeden Benutzer eines bestimmten Rechners. Ein Datei-DSN enthält relevante Informationen in einer Textdatei mit einer .DSN Dateiendung und kann von mehreren Benutzern und von mehreren Rechnern genutzt werden, wenn sie dieselben Datenbank-Treiber installiert haben.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.