Verknüpfung mit einer SQL-Server-Datenbank

Die Verknüpfung zwischen der MusemPlus-Anwendungsdatei und den Datentabellen in der MS-SQL-Server-Datenbank muss vor dem ersten Einsatz einmal manuell initialisiert werden.

Wie verknüpfe ich die museumplus.mde mit einer Microsoft SQL Server-Datenbank?

Eintrag der Datenbankparameter

Um MuseumPlus mit einer SQL Server-Datenbank zu verknüpfen, muss dem Programm zunächst der entsprechende Server mitgeteilt werden. Das erfolgt durch einen Eintrag in einer Datenbanktabelle innerhalb der museumplus.mde.

In der Kategorie Tabellen der Entwicklungsansicht findet man alle internen und externen Tabellen von MuseumPlus. Interne Tabellen sind solche, deren Inhalt direkt in der museumplus.mde gespeichert wird, externe Tabellen befinden sich eigentlich auf dem Datenbankserver und sind nur mit der museumplus.mde verknüpft. Bei einer neuen zu installierenden Version von MuseumPlus sollte es eigentlich nur interne Tabellen geben. Eine davon trägt den Namen _SY_ODBC. Öffnet man diese Tabelle durch Doppelklick, bekommt man ihren Inhalt angezeigt - normalerweise sind das nur wenige, meistens sogar nur ein einziger Datensatz. Letztlich ist auch nur ein einziger Datensatz erforderlich, er sollte für die Verbindung mit einem Microsoft SQL Server folgenden Inhalt haben:

  • SodTypS:
    enthält den Typ des Datenbankservers. Bei MS SQL-Server: SQL
  • SodSourceS:
    enthält das Präfix der Datenbankinstanz. Bei einer Standardinstanz: dbo.
  • SodStringS:
    enthält die ODBC-Verbindungszeichenfolge. Der Aufbau dieses Strings wird weiter unten erläutert.

Alle anderen Spalten in dieser Tabelle sind für die Herstellung einer Verbindung irrelevant. Nach dem ein für die gewünschte SQL-Server-Datenbank geeigneter Datensatz in der Tabelle _SY_ODBC eingetragen wurde, kann die Tabelle geschlossen werden.

Übrigens: Die Rückfrage von Access, ob die vorgenommenen Änderungen an der Tabelle gespeichert werden sollen, kann getrost mit "Nein" beantwortet werden. Access bezieht sich hierbei auf ggf. an der Ansicht oder Struktur der Tabelle vorgenommene Änderungen, nicht auf den Inhalt der Tabelle. Dieser wird stets automatisch ohne Rückfrage beim Verlassen des Datensatzes gespeichert.

Aufbau der ODBC-Verbindungszeichenfolge

Diese Zeichenfolge ist aus mehreren Sektionen zusammengesetzt. Für jede Konstellation müssen die richtigen Sektionen zu einer Verbindungszeichenfolge zusammengesetzt werden. Die Sektionen werden dabei durch Semikolon getrennt, der String beginnt stets mit der Zeichenfolge ODBC.

  • Angabe des Datenbanktreibers
    Bei Verwendung des Microsoft SQL Server (in allen aktuellen Version)
    Driver=SQL Server;
  • Verwendetes Netzwerkprotokoll
    TCP/IP: Network=DBMSSOCN;
    Named Pipes: Network=DBNMPNTW;
  • Name des Datenbankservers
    Der Name setzt sich zusammen aus dem DNS-Namen des Servers oder seiner IP-Adresse sowie der Bezeichnung der Instanz, auf der die MuseumPlus-Datenbank installiert ist. Bei Verwendung der Standardinstanz wird letztere Angabe weggelassen.
    DNS-Name + Standardinstanz: myServer
    IP-Adresse + Standardinstanz: 192.168.1.20,1433
    DNS-Name + benannte Instanz: myServer\myInstance
  • Name der MuseumPlus-Datenbank
    DATABASE=mp_example_50;
    Angabe der Benutzerauthentifizierung
    Die Authentifizierung kann über einen auf dem SQL-Server eingetragenen Benutzer oder, bei in ein ActiveDirectory oder eine Windows Domäne integrierten Datenbankservern über den aktuellen Windows-Benutzer erfolgen.
    SQL-Server-Benutzer: UID=museumplus;PWD=secret;
    Windows-Benutzer: TRUSTED_CONNECTION=yes;

Im Folgenden noch zwei Beispiele für typische ODBC-Verbindungszeichenfolgen. Hier zunächst die Zeichenfolge für die Verbindung mit einer Standardinstanz über TCP/IP unter Verwendung der SQL-Server-Authentifizierung. Dies ist vermutlich der am häufigsten auftretende Fall:

ODBC;Driver=SQL Server;Network=DBMSSOCN;Server=myServer;DATABASE=mp_example_50;UID=museumplus;PWD=secret;

Anschließend noch der in größeren Installationen mögliche Fall der Verwendung einer benannten Instanz unter Verwendung der Windows-Authentifizierung:

ODBC;Driver=SQL Server;Network=DBMSSOCN;Server=myServer;DATABASE=mp_example_50;TRUSTED_CONNECTION=yes;

Verknüpfen der Datenbanktabellen

Anschließend wechselt man in die Kategorie Makros, wo sich das Makro _Init findet. Dieses muss durch Doppelklick gestartet werden. Es öffnet sich dann ein Initialisierungsbildschirm, in dem der Datenbank-Typ (in diesem Fall also Microsoft SQL Server) ausgewählt werden kann. Anschließend klickt man auf Go, worauf die Datenbanktabellen mit MuseumPlus verknüpft werden. Anschließend sollte das Programm ganz normal starten.