HINWEIS
HINWEIS
Einige wenige Funktionen können Sie noch über die Office-Schaltfläche erreichen (Menüpunkt Server):
Abbildung 10.11 Menüpunkt Server
Wichtig beim Weitergeben der Anwendung ist der Menüpunkt Verbindung, über den Sie den Connection-
string für das aktuelle Projekt anpassen können.
Upgrading von Access zum SQL Server
Haben Sie bereits eine Access-Anwendung oder eine Datenbank entwickelt und möchten Sie diese auf den
SQL Server bzw. die Express Edition portieren, hilft Ihnen der Upsizing-Assistent, den Sie auf der Multi-
funktionsleiste (Datenbanktools/Daten verschieben) finden.
Dieser Assistent ermöglicht Ihnen die Umsetzung bestehender Tabellen (inklusive Indizes, Gültigkeits-
regeln etc.), so weit das auf dem SQL Server möglich ist. Makros und Module sind von der Umstellung
nicht betroffen, Formulare und Berichte werden auf Wunsch angepasst.
Stellen Sie vor dem Aufruf des Assistenten sicher, dass Sie über die erforderlichen Zugriffsrechte sowohl in der
Access-Datenbank als auch auf dem SQL Server verfügen.
Dass der Ziel-Computer über genügend Speicherplatz verfügen sollte dürfte wohl ebenso selbstverständlich
sein wie der vorzunehmende Start des SQL Servers.
Nach der Auswahl, ob Sie eine neue Datenbank oder eine bestehende verwenden wollen, fühlen Sie sich
in die »Steinzeit« zurückversetzt. Der »gute alte« ODBC-Datenquellen-Assistent tritt wieder auf die Bühne.
Zumindest einen Vorteil hat dieses Vorgehen – für fast jeden Datenbanktyp finden Sie auch einen entspre-
chenden ODBC-Treiber.
617
Access 2007 und Microsoft SQL Server
Kapitel 10: SQL Server
Erstellen Sie also, falls erforderlich, zunächst eine neue Datenquelle:
Abbildung 10.12 Auswahl der Datenquelle
Danach müssen Sie entscheiden, welche Tabellen auf den Server exportiert werden sollen. Zusätzlich dürfen
Sie diverse Optionen für die Umsetzung der Tabellen vorgeben (siehe folgende Abbildung).
Abbildung 10.13 Export-Optionen
Dass Indizes, Gültigkeitsregeln, Standardwerte und Beziehungen übernommen werden, dürfte in den meis-
ten Fällen klar sein, doch was hat es mit den beiden Optionen Mit DRI bzw. Mit Trigger im Zusammenhang
mit den Tabellenbeziehungen auf sich?
Die Antwort steckt in der Übersetzung des Begriffs DRI: Declared Referential Integrity. Verwenden Sie diese
Art der Verknüpfung, besteht zwar zwischen den Tabellen ein Zusammenhang, Löschweitergaben oder
Aktualisierungsweitergaben sind jedoch nicht möglich, dazu müssen Trigger genutzt werden.
618
HINWEIS
BEISPIEL
BEISPIEL
Beim Konvertieren von Gültigkeitsregeln werden diese nicht in SQL-Gültigkeitsregeln umgewandelt, sondern in
Update-Trigger, da nur diese entsprechende Fehlermeldungen ausgeben können.
Für die Option Timestamp-Feld in Tabellen einfügen? sollten Sie dann Ja, immer wählen, wenn Sie auf die
Tabellen auch schreibend zugreifen wollen. Der Hintergrund: Der SQL Server trägt bei jeder Änderung des
Datensatzes in dieses Feld einen neuen Wert ein. Client-Anwendungen (in diesem Fall Access selbst)
können so leicht feststellen, ob sich seit dem letzten Zugriff auf diesen Datensatz Änderungen durch einen
anderen Nutzer ergeben haben. Statt umständlich alle Felder des Datensatzes einzeln zu vergleichen, genügt
der einfache Vergleich, ob sich das Timestamp-Feld geändert hat. Neben einer reinen Zeitersparnis (weni-
ger Netzverkehr) ist dieses Vorgehen bei Verwendung von Memo- oder Binärfeldern zwingend notwendig.
Diese Felder können nicht in einen Vergleich mit einbezogen werden, Änderungen blieben also unbemerkt.
Interne Update-SQL-Anweisung
ohne
Timestamp-Feld
UPDATE personal SET nachname = 'Grünberg'
WHERE (Id = 27) AND
(vorname = 'Martin') AND
(nachname = 'Bühler') AND
(gehalt = 3000) AND
(raumid = 5) AND
...
Interne Update SQL-Anweisung
mit
Timestamp-Feld
UPDATE personal SET nachname = 'Grünberg'
WHERE (Id = 27) AND
(TimeStamp = xyz)
Wie Sie sehen, ist der Unterschied beträchtlich.
Letzte Option ist die Auswahl, ob lediglich das Layout der Datenbank oder auch die Daten übernommen
werden sollen.
Mit dem folgenden Dialogfeld bestimmen Sie das Aussehen Ihrer bestehenden Access-Anwendung (Formu-
lare, Berichte) nach dem Upsizing. Sie haben die Wahl zwischen:
Eine neue Access-Client/Server-Anwendung erstellen
Es wird ein neues ADP-Projekt erstellt, datengebundene Formulare und Reports werden mit den SQL
Server-Tabellen verbunden.
SQL Server-Tabellen in die bestehende Anwendung einbinden
Hier werden lediglich Verknüpfungen zu den SQL Server-Tabellen erzeugt.
Keine Anwendungsänderungen
Tabellen/Formulare bleiben unverändert, es wird nur exportiert.
Leider funktioniert das Konvertieren nicht ganz ohne Probleme. So werden beispielsweise Anlage-Felder als
ntext-Felder (Unicode) auf dem Server abgelegt und sind nach dem Einbinden nicht mehr als solche ver-
wendbar. Enthaltene Anlagen werden nur noch als Text aufgeführt (siehe folgende Abbildung):
619
Access 2007 und Microsoft SQL Server

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.