Workshop „Migration Access nach SQL Server“

Inhalt:
In diesem Workshop liegt der Fokus auf dem Wort „nach“. Eine Migration nach SQL Server bedeutet nicht nur die Migration der Access-Tabellen nach SQL Server, sondern vielmehr auch die Migration der Access-Abfragen und VBA-Module zu Gespeicherten Prozeduren und Sichten.
Das Ergebnis ist eine zukunftssichere und schnelle Client/Server-Applikation.

Die Empfehlung von Microsoft zu Access mit SQL Server liegt derzeit bei „MDB mit eingebundenen Tabellen“. Der Workshop basiert auf dieser Empfehlung. ADP und ACCDB werden nicht behandelt.

Nach diesem Workshop sind Sie in der Lage:

  • Access-Abfragen zu Sichten und Gespeicherten Prozeduren zu migrieren
  • Sichten, Gespeicherte Prozeduren, Benutzerdefinierte Funktionen und Trigger in T-SQL zu programmieren
  • Sichten, Gespeicherte Prozeduren und Benutzerdefinierte Funktionen in Access und in VBA zu verwenden

Agenda:

  • Migration von Access nach SQL Server
  • Analyse der Access-Applikation mit dem SQL Server Profiler
  • Migration der Access-Abfragen nach SQL Server
    • Sichten und Gespeicherte Prozeduren
    • Benutzerdefinierte Funktionen und Trigger
  • Einführung in T-SQL
  • Optimierung der Access/SQL Server-Applikation
    • Formulare und Berichte
    • VBA mit DAO und ADO

Microsoft Access Projekte mit SQL Server 2000

Access 2002/2003 im Zusammenspiel mit SQL Server 2000

Microsoft Access Projekte mit SQL Server 2000

Erschienenen bei Microsoft Press Deutschland
ISBN 3-86063-093-8

Microsoft Access ist die erfolgreichste Desktop-Datenbank für Microsoft Windows. Bei großen Datenmengen bzw. im Mehrbenutzerbetrieb stößt Microsoft Access jedoch an seine Grenzen, da es als Desktop-Datenbank konzipiert wurde. Gleichzeitig stellt Microsoft mit dem SQL Server auch einen ausgereiften Datenbankserver für die Verwaltung großer Datenmengen im Mehrbenutzerbetrieb zur Verfügung. Eine im Funktionsumfang eingeschränkte Version des Microsoft SQL Servers – die Microsoft Desktop Engine (MSDE) – wird mit Microsoft Access und den Microsoft Office-Paketen ausgeliefert.

An dieser Stelle setzt dieses Buch an, indem es die Arbeit mit dem Access-Dateityp »Access-Projekt« (ADP) beschreibt. Access-Projekte verbinden die Benutzeroberfläche und die Programmiermöglichkeiten von Microsoft Access mit den Datenbankmanagementfunktionen von SQL Server/MSDE.

Access-Programmierer können mit Access-Projekten die Leistungsmerkmale von Microsoft SQL Server nutzen, um professionelle und skalierbare Client/Server-Anwendungen zu programmieren.

Zitiert aus dem Klappentext des Buchs

ADP in Access 2007

Frage:
In Access 2007 soll ein neues Access-Projekt (ADP) angelegt werden. Doch wo lässt sich beim Anlegen einer neuen Datenbank das ADP-Format angeben?

Lösung:
Über Datei->Neu erscheint der Dialog Leere Datenbank. Mit der dort enthaltenen Schaltfläche muss der Dialog Neue Datenbankdatei geöffnet werden. Hier ist nun der Speicherort der ADP anzugeben und der Dateityp Microsoft Office Access-Projekte (*.adp) auszuwählen. Mit der Schaltfläche Erstellen im Dialog Leere Datenbank wird das Access-Projekt angelegt.

/* übernommen aus der Original sqlfaq.de */

Pivottabellen in SQL Server

Frage:
In Access können
mittels einer Pivottabelle Zeileninformationen als Spalteninformationen dargestellt werden.
Wie kann dies mit SQL Server umgesetzt werden?

Lösung:
Die Darstellung von Zeileninformationen in Spalten wird mit CASE erreicht.
Mehr dazu gibt es in den Online-Hilfe unter CASE sowie unter dem Stichwort Kreuztabellenberichte.

/* übernommen aus der Original sqlfaq.de */

Temporäre Tabellen in ADP

Frage:
In ADP soll eine temporäre Tabelle angelegt werden.

Lösung:
In ADP gibt es keine Tabellen – auch keine temporären!
Hier sind die temporären Tabellen vom SQL Server zu verwenden. SQL Server bietet zwei verschiedene Varianten temporärer Tabellen – lokale (#) und globale (##). Temporäre Tabellen werden mittels CREATE TABLE angelegt. Näheres dazu hier oder in der Onlinehilfe.

/* übernommen aus der Original sqlfaq.de */

Berechtigungen auf Access-Objekte in ADP

Frage:
In Access 2000 ist es über den Menüpunkt Arbeitsgruppenadministrator möglich, Berechtigungen zu Formularen, Berichten, Modulen und Makros für Benutzer und Benutzergruppen zu vergeben. In ADP ist dieser Menüpunkt deaktiviert.

Lösung:
Die Vergabe von Berechtigungen ist in ADP nicht mehr enthalten.
Die Berechtigungen der Benutzer bzw. Benutzergruppen müssen in der SQL Server-Datenbank konfiguriert werden.

/* übernommen aus der Original sqlfaq.de */

Access (ADP) findet Gespeicherte Prozeduren nicht

Frage:
Die Gespeicherten Prozeduren einer SQL Server-Datenbank werden in einer ADP als spname;1 dargestellt.
Beim Öffnen einer solchen Gespeicherten Prozedur erscheint die Meldung Stored Procedure spname;1 nicht gefunden.

Lösung:
Um die
Gespeicherten Prozeduren korrekt anzeigen und auch öffnen zu können, muss das Service-Release 1/1a von Access installiert werden.
Im Knowledgebase-Artikel Q269824 wird das Problem genauer beschrieben.

/* übernommen aus der Original sqlfaq.de */

Access ADP in Citrix-Umgebung

Frage:
Bei Installation einer ADP in einer Citrix-Umgebung kann nur der erste Benutzer das Projekt ohne Fehlermeldung starten.
Jeder weitere Benutzer erhält die Meldung, dass das Projekt bereits geöffnet ist und daher nur schreibgeschützt geöffnet werden kann.

Lösung:
Die Fehlermeldung lässt sich verhindern, indem das ADP mit dem Zusatz /runtime gestartet wird.
Jedoch können durch diesen Zusatz keine Designänderungen mehr an dem Projekt vorgenommen werden.

/* übernommen aus der Original sqlfaq.de */