Von Access zum SQL Server: Der Einstieg

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Autor: Klaus Giesen, Wuppertal

Obwohl Access nicht nur ein komfortables, sondern auch ein leistungsfähiges Datenbanksystem ist, kann es vorkommen, dass Sie an seine Leistungsgrenzen stoßen. Diese Situation wird zwar nur bei einem Einsatz von Access in einer Netzwerkumgebung auftreten, doch da gerade Access sehr häufig auch in einer solchen Umgebung eingesetzt wird, ist auch diese Thematik für einen größeren Personenkreis relevant. Glücklicherweise stellt Ihnen Access 2000 zur Lösung einer solchen Problematik eine verblüffend einfache und obendrein auch noch preiswerte Lösung zur Verfügung: Die so genannte MSDE, die ein zwar abgespeckter, aber trotzdem vollwertiger und leistungsfähiger SQL-Server ist.

Dieser Beitrag soll zeigen, wie Sie eine Access-Datenbank auf den SQL-Server bzw. die MSDE portieren. Es geht dabei lediglich um einen Einstieg in die Welt der SQL-Server. Andererseits ist dieser Lösungsansatz sicherlich für einen Großteil der Anforderungen vollkommen ausreichend.

Bei der Portierung einer Access-Datenbank auf die MSDE gibt es verschiedene Regeln zu beachten, die mit unterschiedlichen Datentypen, eingebauten Funktionen und der unterschiedlichen Funktionalität zusammenhängen. Außerdem verfügt ein Access-Projekt bzw. die MSDE über Objekte, die eine Access-MDB gar nicht kennt.

Aus Platzgründen wird nur auf die wichtigsten Unterschiede eingegangen. Einzelheiten entnehmen Sie der Dokumentation zur MSDE.

Gegenüberstellung von Datenbankobjekten

Zunächst eine Gegenüberstellung von Datenbankobjekten, die Ihnen in einem Access-Projekt bzw. in einer Access-MDB begegnen können (s. Tabelle 1).

Access-MDB

Access-Projekt

Tabelle

Tabelle

Auswahlabfrage

Sicht (View)

Aktions- bzw. Parameterabfrage

Gespeicherte Prozedur

Beziehung

Datenbankdiagramm

Formular

Formular

Bericht

Bericht

Datenzugriffsseite

Datenzugriffsseite

Makro

Makro

Modul

Modul

Tab. 1: Gegenüberstellung von Datenbankobjekten

Die typischen MSDE-Objekte werden weiter unten erläutert.

Gegenüberstellung von Datentypen

In Access stehen neun Datentypen zur Verfügung, wobei beim Datentyp Zahl über die Eigenschaft Feldgröße weitere Einstellungen vorgenommen werden können. Die MSDE kennt einige weitere Datentypen (s. Tabelle 2).

Hyperlink-Felder aus Access werden in den Datentyp NTEXT umgewandelt und verlieren ihre Funktionalität.

MSDE

Access

VARCHAR, NVARCHAR

Text

CHAR, NCHAR

Text

TEXT, NTEXT

Memo

TINYINT

Zahl (Byte)

SMALLINT

Zahl (Integer)

INT

Zahl, AutoWert (Long Integer)

REAL

Zahl (Single)

FLOAT

Zahl (Double)

UNIQUEIDENTIFIER

Zahl (Replikations-ID)

BIT

Ja/Nein

MONEY, SMALLMONEY

Währung

DATETIME, SMALLDATETIME

Datum/Zeit

IMAGE

OLE-Objekt

keine Entsprechung

Hyperlink

TIMESTAMP

keine Entsprechung

Tab. 2: Gegenüberstellung der Datentypen

Weiterhin erlaubt die MSDE noch benutzerdefinierte Datentypen, für die es bei Access kein Gegenstück gibt.

Gegenüberstellung des SQL-Befehlssatzes

Der SQL-Befehlssatz von Access und der MSDE bzw. dessen Implementierung ist in einigen Punkten doch recht unterschiedlich. Neben Zeichen und Operatoren (letzter Abschnitt) gibt es weitere wichtige Unterschiede:

Ausgabefelder

Access erlaubt in einer Abfrage mehrere Ausgabefelder mit gleichem Namen, die MSDE erlaubt dies in einem View nicht.

SQL-Element DISTINCTROW

Access unterstützt dieses Element und erlaubt darüber hinaus die Auswahl von eindeutigen Datensätzen. Die MSDE unterstützt diese Funktionen nicht.

Vergleich von

Access

MSDE

Datumsangaben

Leiterzeichen (#)

Einfaches Anführungszeichen (“)

Zeichenfolge

Einfaches (“) oder doppelte Anführungszeichen („)

Einfaches Anführungszeichen (“)

Mod-Operator

Mod

Prozentzeichen (%)

Verkettung von Zeichenfolgen

Ampersand (&)

Pluszeichen (+)

Platzhalter für ein einzelnes Zeichen

Fragezeichen ()

Unterstrich (_)

Platzhalter für keines oder mehrere Zeichen

Sternzeichen (*)

Prozentzeichen (%)

Konstante für True

Ja, Ein, Wahr, -1

1

Konstante für False

Nein, Aus, Falsch, 0

0

Tab. 3: Vergleich von Trennzeichen und Operatoren

SQL-Befehle COMMIT UND LOCK

Diese SQL-Befehle für Zugriffsrechte werden von Access nicht unterstützt, können dort aber mithilfe von VBA nachgebildet werden.

VBA-Anweisungen in SQL

Access erlaubt die Verwendung von beliebigen SQL-Anweisungen. Diese nicht unerhebliche Funktionserweiterung steht für die MSDE nicht zur Verfügung.

Trennzeichen und Operatoren

Die MSDE und Access verwenden unterschiedliche Trennzeichen, Operatoren, Platzhalterzeichen in der WHERE-Klausel eines SQL-Strings und Zeichen für Datums- bzw. Textangaben.

Die Unterschiede werden in Tabelle 3 gegenübergestellt.

Bild 1: Datenbankdiagramm

Bild 2: Formular-Steuerelement als Kriterium in einer Access-Auswahlabfrage

Spezielle MSDE-Objekte

In den folgenden Abschnitten lernen Sie einige typische MSDE-Objekte und ihre wichtigsten Eigenschaften kennen.

Datenbankdiagramme

Datenbankdiagramme entsprechen im Prinzip dem Beziehungsfenster von Access.

Nur können dort neben dem reinen Festlegen und Bearbeiten von Beziehungen beispielsweise auch Tabellen- und Feldeigenschaften sowie Indizes angelegt bzw. bearbeitet werden (siehe Bild 1).

Views

Views entsprechen den Auswahlabfragen in Access – mit einigen wichtigen Unterschieden:

  • Die Verwendung der ORDER BY-Klausel ist nicht möglich. Eine gewünschte Sortierung muss mithilfe einer gespeicherten Prozedur realisiert werden.
  • Views dürfen keine Parameter enthalten. Auch hier muss eine gespeicherte Prozedur verwendet werden, falls Parameter übergeben werden müssen.
  • Views können keine Verweise auf Formulare oder Steuerelemente in Formularen enthalten.
  • Sie können beispielsweise keine Kriterien in Sichten verwenden, wie Sie das bisher in Access-Abfragen getan haben – z. B. wie in der in Bild 2 dargestellten Abfrage.

    Gespeicherte Prozeduren

    Gespeicherte Prozeduren (englisch Stored Procedures) sind vorkompilierter Code, der serverseitig ausgeführt wird (siehe Bild 3).


    Nur für Abonnenten

    Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

    Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

    So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

    Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

    Bereits Abonnent? Hier einloggen


    Kostenlos & unverbindlich

    Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

    Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

    In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

    Jetzt kostenloses Access-Audit anfordern →

    Schreibe einen Kommentar