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:
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).
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo