Access in den Wolken

Cloud-Computing bezeichnet die Bereitstellung von Rechenkapazität, Datenspeicher oder auch kompletten Anwendungen über das Internet. So bietet Microsoft beispielsweise eine spezielle Variante des SQL Servers namens SQL Azure an. Das ist für Access-Anwendungen interessant, deren Daten an mehreren Standorten verfügbar sein sollen oder wenn Außendienstmitarbeiter von unterwegs etwa auf Kundendaten zugreifen sollen. Wir schauen uns die Möglichkeiten von SQL Azure an und zeigen, wie Sie mit Access auf die enthaltenen Daten zugreifen.

Gestern und heute

Die Möglichkeiten des Zugriffs von Access auf Datenbanken im Internet fand lange Zeit gar nicht statt. Grundsätzlich geht es dabei darum, einen SQL Server auf einem Webserver zu betreiben, auf den man von Access aus beispielsweise via ODBC oder OLEDB zugreifen konnte. Aus Kostengründen kommt dabei, wenn überhaupt, MySQL zum Einsatz, das meist auf Linux-Servern läuft.

Mittlerweile bietet Microsoft zwei weitere Alternativen an: Die erste ist die Verwendung von SharePoint, auf die wir an anderer Stelle bereits eingingen (Online-Datenbanken mit Access und Sharepoint, www.access-im-unternehmen.de/632).

Dies soll nun mit Access 2010 weiter ausgebaut werden: Ein spezielles Datenbankformat soll auf einen SharePoint-Server übertragen und via Internet-Browser verwendet werden können. Dieses Datenbankformat kommt logischerweise mit einigen Einschränkungen bezüglich der Benutzeroberfläche und der Programmierung daher – so ist der Einsatz etwa von VBA nicht vorgesehen, stattdessen wurden die Möglichkeiten der Makro-Programmierung deutlich ausgebaut.

Grundsätzlich geht es aber gar nicht darum, Access-Anwendungen an sich ins Internet zu verschieben, sondern nur die referenzierten Daten beziehungsweise alles, was sich sonst im Backend einer Access-Datenbank befindet.

Und hier kommt der zweite Ansatz von Microsoft zur Geltung: die Cloud. Dort stellt Microsoft beispielsweise die Infrastruktur zur Verfügung, um eine SQL Server-Datenbank zu betreiben und auch über das Internet per ODBC-Verbindung darauf zuzugreifen.

Gegenüber der SharePoint-Variante, bei der die Datenbank per Internet-Browser gesteuert werden soll, bietet dies einige Vorteile: Sie brauchen beispielsweise auf keines der Elemente der gewohnten Benutzeroberfläche zu verzichten.

Und auch die Kostenfrage bei der Weitergabe einer solchen Anwendung ist schnell geklärt: Mit der Runtime-Version von Access können Sie Access-Anwendungen ohne Mehrkosten beliebig verteilen.

Schauen wir uns also an, wie wie eine Access-Datenbank in die Wolke hieven und wie diese anschließend funktioniert.

Voraussetzungen und Kosten

In der kleinsten Konfiguration einer ein maximal ein Gigabyte großen Datenbank kostet SQL Azure unter 10 Euro im Monat, hinzu kommen weitere Kosten für Traffic und Rechnerleistung. Eine Bezahlung ist nur per Kreditkarte möglich. Vielleicht besitzen Sie ein MSDN-Abonnement, dann können Sie bestimmte Dienste kostenlos nutzen – weitere Informationen finden Sie unter http://www.microsoft.com/online/help/de-de/helphowto/d459d51c-dddf-47ad-b488-2f59eb969b6d.htm.

Um sich für SQL Azure anzumelden, brauchen Sie ein Windows Live-Konto. Mit Ihrer Windows Live ID können Sie sich unter mocp.microsoftonline.com anmelden und dort ein Abonnement aufnehmen. Wir haben für die Tests in Zusammenhang dieses Beitrags den Dienst Windows Azure Platform – Nutzungstarif abonniert. Dazu wechsen Sie auf der Webseite zur Registerseite Dienste und stellen den Dienstfilter auf Windows Azure Platform ein (s. Abb. 1). Das Abonnement kann laut Microsoft jederzeit gekündigt werden.

pic001.png

Abb. 1: Anmelden für SQL Azure

Desweiteren benötigen Sie den SQL Server 2008 R2, auch die kostenlose Express-Version reicht aus: http://www.microsoft.com/express/Database/InstallOptions.aspx. Die SQL Server Database Engine enthält den benötigten ODBC-Treiber und mit dem SQL Server Managament Studio Express wandeln Sie eine bestehende Access-Datenbank in eine SQL Server-Datenbank um (sofern Sie nicht ohnehin bereits eine SQL Server-Datenbank besitzen, mit der Sie SQL Azure ausprobieren möchten).

Und jetzt

Nach der Anmeldung erhalten Sie eine E-Mail mit weiteren Hinweisen, die unter anderem einen Link zum Microsoft SQL Azure-Entwicklerportal enthält.

Dort finden Sie bereits eine Übersicht der Projekte, wo Sie bereits einen Eintrag mit dem zuvor vergebenen Namen vorfinden – es handelt sich hierbei um einen Datenbankserver (s. Abb. 2).

pic002.png

Abb. 2: Erste Schritte mit den Windows Azure Services

Nach dem Anklicken dieses Projekts müssen Sie noch die Nutzungsbedingungen lesen, aber dann geht es los: Als Erstes tragen Sie den Benutzernamen und das Kennwort des Administrators der neuen Datenbank ein. Beachten Sie die Hinweise für die Auswahl des Kennworts!

Damit ist die Erstellung des Datenbankservers abgeschlossen und Sie können bereits dessen Namen einsehen – diesen brauchen Sie später für das Einrichten der ODBC-Verbindung. Sie können nun ein neues Kennwort vergeben, den Server wieder löschen oder eine neue Datenbank anlegen (s. Abb. 3).

pic005.png

Abb. 3: Übersicht des neuen SQL Servers in der Wolke mit der Möglichkeit, eine neue Datenbank anzulegen.

Mit einem Mausklick auf Create Database erstellen Sie eine neue SQL Server-Datenbank. Im nun erscheinenden Dialog sollten Sie auf jeden Fall als Edition den Eintrag Web und als maximale Größe 1 GB auswählen, da dies die minimale und kostengünstigste Variante darstellt. Den Namen der Datenbank können Sie frei wählen, wir verwenden AiU.

Von Access zu SQL Server

Das Migrieren der Tabellen der Access-Datenbank zum SQL Server können wir hier aus Platzgründen nicht ausführlich beschreiben. Nach einem Mausklick auf den neuen Eintrag in der Liste der Datenbanken aktiviert die Webseite weitere Schaltflächen wie Connection Strings, Test Connectivity und Drop Database – mit letzterem können Sie die Datenbank wieder löschen.

Die Schaltfläche Connection Strings liefert Ihnen eine Vorlage für einen Connection-String, und Test Connectivity prüft den Zugriff auf die Datenbank. Dieser schlägt im ersten Anlauf fehl, wenn Sie nicht die Einstellungen der Firewall auf der Registerseite Firewall Settings bearbeitet haben.

Dort müssen Sie die Option Allow Microsoft Services access to this server aktivieren (s. Abb. 4). Anschließend funktioniert auch der Verbindungsversuch von der Webseite aus.

pic006.png

Abb. 4: Aktivieren der Firewall für die Microsoft Services

Das bedeutet allerdings noch lange nicht, dass dies auch vom heimischen Rechner aus gelingt: Sie müssen nämlich zusätzlich festlegen, von welcher IP die Firewall Anfragen an SQL Azure durchlassen soll.

Und wenn Sie wie nicht gerade in einem Unternehmen sitzen oder anderweitig mit einer festen IP zur Identifizierung verwenden, haben Sie ein kleines Problem: Die IP wird nämlich in der Regel zumindest einmal täglich neu zugewiesen, was das Festlegen der IP für die Firewall erschwert. Einige Service Provider wie T-Online haben überdies recht viele, große IP-Ranges, sodass eine Zuordnung hier Glücksache ist.

Die einfachste Möglichkeit, dennoch eine gültige Firewall-Einstellung zu verwenden, geht deutlich zu Lasten der Sicherheit: Dabei geben Sie einfach den vollen IP-Bereich frei und tragen unter IP Address Range die Grenzen 0.0.0.0 und 255.255.255.255 ein.

Nur für Testzwecke ist dies sicher in Ordnung, aber wenn Sie wichtige Daten in der Datenbank speichern möchten, sollten Sie sich entweder um eine feste IP kümmern, was beispielsweise für T-Online-Geschäftskunden mittlerweile kostenlos möglich sein soll.

Für die folgenden Schritte gehen wir davon aus, dass Sie die Firewall von SQL Azure so eingerichtet haben, dass der Zugriff funktioniert.

Eine Datenbank anlegen

Um eine kleine Testdatenbank mit einigen Tabellen anzulegen, verwenden Sie am besten das Microsoft SQL Server Management Studio, das in SQL Server 2008 R2 Express enthalten ist. Dort erscheint direkt beim Start der Anmeldedialog aus Abb. 5. Geben Sie dort den Servernamen ein, der zum Beispiel im Dialog aus Abb. 3 angezeigt wird (<Ihr Servername>.database.windows.net).

pic007.png

Abb. 5: Anmeldung an SQL Azure vom Client aus

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar