Damit Sie von UltraDev aus mit Datenbanken arbeiten können, muss auf Ihrem Rechner bzw. in Ihrem Netzwerk bereits ein Datenbanksystem eingerichtet sein, auf das Sie zugreifen können. Sämtliche Programmfeatures, die Sie in den nun folgenden Tagen kennen lernen werden, setzen zwingend voraus, dass Sie eine Datenbankanwendung installiert haben. Das heutige Kapitel ist absolut grundlegend, denn auf diesen Stoff bauen alle weiteren Lektionen auf. Die Themen im Überblick:
Da wir uns mit unterschiedlichen Plattformen auseinander setzen werden, ist der Text im Anschluss an diese allgemeine Einführung entsprechend in Abschnitte gegliedert. Die gemachten Ausführungen gelten entweder plattformübergreifend oder plattformspezifisch, worauf jeweils hingewiesen wird. Manche Unterkapitel beschäftigen sich speziell mit ASP (Active Server Pages), JSP (Java Server Pages) oder ColdFusion-Anwendungen. Ich möchte Ihnen nahe legen, keinen der Abschnitte zu überspringen, denn diese Informationen könnten Ihnen auch bei der Arbeit mit anderen Anwendungen als UltraDev nützlich sein.
Wenn Sie in einer reinen Mac- bzw. Windows-Umgebung arbeiten oder sich nur für eine bestimmte Serverplattform interessieren, steht es Ihnen natürlich frei, lediglich die diesbezüglichen Abschnitte zu lesen.
Für die heutige Lektion wird davon ausgegangen, dass Sie bereits einen Datenbankserver installiert haben und Erfahrung in der Erstellung von Datenbanken besitzen. Wenn nicht, arbeiten Sie bitte zuerst die Ausführungen über die Installation des MySQL-Servers am Ende der heutigen Lektion durch. Danach haben Sie das nötige Grundlagenwissen, um Ihr UltraDev-Backend einzurichten.
Wenn Sie mit UltraDev dynamische Seiten erzeugen, müssen Sie dem Programm bestimmte Informationen geben, damit es den Anwendungsserver mit einer Datenbank verbinden kann. Je nach Voreinstellung werden Sie eine Webanwendung vielleicht auf Basis einer lokalen Datenbank entwickeln und sie dann auf den Produktionsserver stellen, auf dem eine eigene Datenbankverbindung eingerichtet ist. In diesem Fall müssen Sie Ihre Datenbank lokal genauso konfigurieren wie auf dem entfernten Server.
Die Alternative wäre, die Applikation gleich in Anbindung an die Datenbank auf dem Produktionsserver zu entwickeln. So oder so ist die Einrichtung einer Datenbankverbindung nicht schwierig, und für den Fall, dass Sie mit einer Datenbank auf dem entfernten Server arbeiten, braucht Ihr lokaler Rechner nicht einmal einen eigenen Treiber, denn UltraDev verwendet den Treiber des Servers, um die Daten lokal verfügbar zu machen.
Falsch konfigurierte Datenbankverbindungen sind eine häufige Fehlerquelle. In der Folge kommuniziert UltraDev mit einer Datenbank, die lokal anders konfiguriert ist als auf dem Produktionsserver. UltraDev kann dann zwar problemlos auf die Datenbank zugreifen und in der Dokumentansicht funktioniert scheinbar auch alles bestens. Laden Sie das Dokument dann allerdings zur Vorschau in den Browser oder übertragen es auf den Server, funktionieren die dynamischen Verhaltensweisen nicht mehr. Der entscheidende Punkt ist wie gesagt, dass Sie, falls Sie mit lokalen Datenquellen arbeiten, diese genauso wie auf dem Anwendungsserver konfigurieren.
Sie können theoretisch pro Website mehrere Datenbankverbindungen einrichten, doch gewöhnlich arbeitet man nur mit einer. Die Verwendung mehrerer verschiedener Datenquellen ist durchaus zulässig, und Sie könnten sogar eine Website anlegen, die Daten von verschiedenen, voneinander unabhängigen Servern bezieht.
Um eine dynamische Website einzurichten, definieren Sie wie gewohnt eine neue Site, doch bevor Sie das Konfigurationsmenü verlassen, aktivieren Sie im Listenfeld Kategorie die Option Anwendungsserver (siehe Abb. 8.1). Wählen Sie ein Servermodell (ASP, JSP oder ColdFusion) aus, die Standard-Skriptsprache, in der die Anwendung geschrieben werden soll, sowie die zu verwendende Standard-Seitenerweiterung. Darüber hinaus können Sie noch einige Zugriffsinformationen definieren.
Abbildung 8.1: Einrichten des Servermodells, der Skriptsprache und des Speicherorts
UltraDev trägt der Tatsache Rechnung, dass Sie Ihre dynamische Anwendung vielleicht auf einem anderen Server ablegen möchten als die übrige Website. Über die Anpassung der Einstellungen unter Zugriff und Entfernter Ordner können Sie einen anderen Speicherort definieren. Diese Einstellungen entsprechen denen, die wir in Tag 3, »Websites planen und verwalten«, bei der Definition des entfernten Ordners auf dem Server vorgenommen haben. Wenn Sie hier nichts anderes eingeben, geht UltraDev davon aus, dass der Anwendungsserver und der entfernte Server identisch sind.
Sie können sich die Dateien auf dem Anwendungsserver anzeigen lassen, indem Sie in der Site-Ansicht in der Werkzeugleiste auf das zweite Icon von links (kleine Quadrate mit einem Blitz) klicken. Falls entfernter Server und Anwendungsserver identisch sind (was meistens der Fall sein dürfte), erfüllt diese Schaltfläche keine weiteren Funktionen.
Nachdem Sie die neue Website eingerichtet und ein Anwendungsserver-Modell gewählt haben, richten Sie im nächsten Schritt die Datenbankverbindung ein. Bei der Auswahl des für Ihre Serverplattform geeigneten Verbindungstyps unterstützt Sie das Programm durch verschiedene Dialogfenster. Es stehen folgende Verbindungstypen zur Auswahl:
An diesem Punkt entringt sich der Brust des Mac-Users gewöhnlich ein tiefer Seufzer der Klage: »Unter Windows hat man viel mehr Typen der Datenbankverbindung zur Auswahl als auf dem Mac. Das ist gemein!« (Als Powerbook-Benutzer kann ich in diese Klage nur einstimmen.) Doch gibt es eine Möglichkeit, Verbindungen zu Datenbanken herzustellen, für die nur Windows-ODBC-Treiber verfügbar sind. Macromedia hat UltraDev so programmiert, dass Datenbankverbindungen über den Anwendungsserver selbst erfolgen können. Wenn Sie also Ihre Sites auf einem Mac entwickeln, stehen Ihnen trotzdem sämtliche Verbindungstypen zur Verfügung. Zusätzlich können Sie sich noch per JDBC- Treiber mit Windows-Datenquellen verbinden, was ein weiteres Plus an Verbindungsoptionen darstellt.
So, und jetzt wollen wir endlich unsere erste Datenbankverbindung erstellen. Wenn Sie Ihre Website richtig konfiguriert und Servermodell und Zugriffsmethode korrekt gewählt haben, kann es losgehen.
Um für Ihre Site eine Datenbankverbindung einzurichten, wählen Sie Modifizieren > Verbindungen, worauf sich das in Abb. 8.2 gezeigte Dialogfenster öffnet. Wenn Sie bis dato noch keine Datenbankverbindung in UltraDev eingerichtet haben, ist das Listenfeld leer. Wurden bereits Verbindungen definiert, können Sie sie hier durch Klick auf die entsprechende Schaltfläche bearbeiten, duplizieren oder entfernen.
Abbildung 8.2: Das Dialogfenster zur Einrichtung und Bearbeitung von Datenbankverbindungen
Oftmals ist es leichter, eine bereits definierte Datenbankverbindung zu duplizieren, statt eine neue einzurichten, falls diese neue Verbindung ähnlich der schon vorhandenen ist. Ich habe meistens die Syntax für einen JDBC-Verbindungsstring nicht im Kopf und muss dann meine Kenntnisse anhand eines bereits definierten Strings auffrischen.
Klicken Sie auf den Button Neu, um eine neue Datenbankverbindung einzurichten. Je nach gewähltem Servermodell wird ein Popup-Menü angezeigt, über das Sie die Verbindungstypen konfigurieren können. Im Folgenden werden wir die einzelnen Einstellungsmöglichkeiten, nach Anwendungsservern getrennt, näher untersuchen. Gehen Sie zum Abschnitt für Ihre Plattform und lesen Sie dort, wie Sie für Ihre Site eine Datenbankverbindung einrichten.
Default-Verbindungstyp ist eine ADO/ODBC-Verbindung, die einen Data Source Name (DSN) verwendet. Um einen Data Source Name zu vergeben, muss eine ODBC- Datenquelle für diesen Server und diese spezielle Datenbank definiert worden sein. Wenn Sie noch nie eine ODBC-Verbindung eingerichtet haben, sollten Sie unbedingt das entsprechende Unterkapitel am Ende dieser Lektion lesen, in dem die Einrichtung eines einfachen Datenbankservers und das Zusammenspiel mit UltraDev beschrieben wird. Neben den Anweisungen zur Installation des Servers wird auch die Einrichtung einer ODBC-Verbindung zu diesem Server beschrieben.
Wie in Abb. 8.3 zu sehen, müssen Sie für eine Grundverbindung fünf Eingabefelder konfigurieren:
conn
voranzustellen, damit ersichtlich ist, dass sich diese Variable auf eine
Verbindung bezieht. Sie müssen sich aber daran nicht halten. Praktisch ist das nur von
Nutzen, wenn Sie den Code von Hand editieren wollen.
Unter Windows können Sie Datenquellen nicht nur über das Popup-Menü auswählen. Klicken Sie auf die Schaltfläche Definieren, um das ODBC-Dialogfenster zu öffnen. Nun können Sie einen neuen DSN für Ihren lokalen Rechner definieren.
Auf dem Mac werden zwar lokale ODBC-Verbindungen unterstützt, aber UltraDev macht von diesem Feature keinen Gebrauch. Falls UltraDev auf Mac OS X portiert wird, werden verbesserte Netzwerkfunktionen und damit auch ODBC-Verbindungen zur Verfügung stehen.
Abbildung 8.3: DSN-Verbindungen werden zu bereits existenten ODBC-Datenquellen eingerichtet.
Bei der Konfiguration einer ODBC-Datenquelle werden zusammen mit dem DSN oft auch gleich ein Benutzername und ein Kennwort definiert. So müssen nicht noch einmal extra Benutzername und Kennwort vergeben werden, wenn eine Anmeldeseite eingerichtet wird.
Wenn Sie alle Einstellungen vorgenommen haben, klicken Sie auf OK oder auf Testen, um zu überprüfen, ob eine funktionierende Verbindung eingerichtet wurde. Damit steht Ihre Datenbankverbindung. Wenn Sie möchten, können Sie die folgenden Abschnitte lesen, um mehr über andere Arten von Datenbankverbindungen zu erfahren.
Datenbankverbindungen über einen benutzerdefinierten Verbindungsstring einzurichten geht nicht ganz so bequem wie unter Verwendung eines DSN. Allerdings können Sie bei der Wahl des Speicherorts und der Einstellung anderer datenbankspezifischer Parameter wesentlich flexibler verfahren und müssen keine lokale ODBC-Datenquelle definieren. Da die einzelnen Parameter des Verbindungsstrings vom gewählten Datenbankserver abhängig sind, müssen Sie bei Einrichtung dieses Verbindungstyps die Dokumentation zu Ihrer Datenbank zu Rate ziehen. Abb. 8.4 zeigt das Dialogfenster zur Konfiguration des Verbindungsstrings.
Für diesen Verbindungstyp müssen Sie lediglich zwei Eingabefelder ausfüllen: Verbindungsname, d.h. den Verbindungsnamen, den UltraDev verwendet, und Verbindungsstring. Den Aufbau und die genaue Syntax des ADO-Verbindungsstrings müssen Sie dem Handbuch zu Ihrer Datenbank entnehmen. Sie können zwei Arten von Verbindungsstrings definieren: mit DSN und ohne DSN. Die DSN-Variante ist lediglich eine Spielart des eben besprochenen Verbindungstyps. Hier genügt für den Verbindungsaufbau allerdings bereits die Angabe des Data Source Name und optional von Benutzernamen und Kennwort.
Abbildung 8.4: Über Strings lässt sich eine Datenbankverbindung einrichten, ohne dass zuvor ein ODBC-DSN definiert wurde.
Ein Verbindungsstring dieses Typs zu einer ODBC-Datenquelle namens mydatabase
mit
dem Benutzernamen myname
und dem Kennwort mypassword
würde folgendermaßen
aussehen:
dsn=mydatabase;uid=myname;pwd=mypassword;
Ein DSN-loser Verbindungsstring dagegen speichert wesentlich mehr Informationen. Er
enthält sämtliche Angaben, die zur Verbindung mit einer ODBC-Datenquelle gebraucht
werden. Ein DSN-loser Verbindungsstring zu einer Access-Datenbank mit Namen
mydatabase.mbd
auf Laufwerk c:\
wäre folgendermaßen aufgebaut:
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydatabase.mdb
Anders als eine Verbindung zu bereits existenten Datenquellen hängt ein ADO- Verbindungsstring von den speziellen Datenbank-Features ab, die Sie einsetzen wollen. Schlagen Sie wegen näherer Informationen über die unterstützten Verbindungsattribute im Handbuch zu Ihrer Datenbank nach.
Ähnlich wie bei der Datenbankverbindung über DSN können Sie auch hier wählen, ob die Verbindung über einen Treiber auf dem Anwendungsservers oder einen lokalen Treiber erfolgen soll. Mac-Usern steht nur die Verbindung über den Anwendungsserver zur Verfügung.
ColdFusion verwaltet Datenbanken anders als andere Programme. Datenbanken werden direkt in der ColdFusion-Umgebung definiert und unabhängig von Standard-ODBC- Verbindungen verwaltet. Um eine ColdFusion-Datenquelle einzurichten, wählen Sie Modifizieren > Verbindungen > Neu > Data Source Name (DSN). Abb. 8.5 zeigt die Dialogbox zur Konfigurierung einer ColdFusion-Datenquelle.
Dieses Dialogfenster sieht der Palette zur Definition von ODBC-Verbindungen verblüffend ähnlich. Der einzige Unterschied besteht im Eingabefeld DSN. Wenn Sie die Option Mithilfe des DSN auf dem Anwendungsserver wählen, müssen Sie auf Anmeldung klicken, um sich auf dem ColdFusion-Server einzuloggen und sich eine Liste der verfügbaren Datenquellen anzeigen zu lassen.
Abbildung 8.5: Bei der Definition der Datenbankverbindung auf die Verwendung von ColdFusion-DSN achten
Ähnlich wie ODBC-DSNs speichern auch ColdFusion-DSNs Benutzernamen und Kennwort für gewöhnlich mit. Wenn Sie Ihren DSN mit diesen Angaben definiert haben, können Sie die Eingabefelder Benutzername und Kennwort frei lassen.
Wenn Sie nicht ständig freien Zugriff auf den Datenbankmanager des ColdFusion-Servers haben, können Sie Ihre Anwendungen unter Verwendung eines ODBC-DSN auf Ihrem Arbeitsrechner entwickeln. Diese Option ist bei der Konfigurierung von ColdFusion- Verbindungen standardmäßig voreingestellt. Über die Optionsfelder UltraDev soll Verbindung herstellen können Sie zwischen der Verwendung von lokalen DSNs (ODBC) und ColdFusion-ODBCs (Anwendungsserver) wählen.
Da auf dem Mac keine Verbindung zu lokalen ODBC-Datenquellen möglich ist, müssen Sie in diesem Fall Modifizieren > Verbindungen > Neu > Data Source Name- Advanced wählen. Dieses Dialogfenster ist im oberen Teil identisch mit der bereits bekannten Dialogbox, enthält aber noch zusätzlich Eingabefelder, um einen JDBC- Treiber zur Verbindung mit lokalen oder Netzwerk-Datenbanken zu konfigurieren. Näheres zu den hier erforderlichen Einstellungen erfahren Sie im folgenden Abschnitt über JDBC-Verbindungen.
Der letzte mögliche Verbindungstyp ist die JDBC-Verbindung. Haben Sie JSP als Serverplattform gewählt, zeigt Ihnen ein Klick auf Ändern > Verbindungen > Neu sämtliche auf Ihrem System installierten JDBC-Treiber an. Wird der gewünschte Treiber nicht angeboten, wählen Sie Benutzerdefinierte JDBC-Verbindung. Sie bekommen dann eine leere Konfigurationsmaske angezeigt. Dieser Verbindungstyp ist am schwierigsten einzurichten. Abb. 8.6 zeigt das Dialogfenster für einen MySQL-Treiber. Die Einstellungen lehnen sich etwas an den benutzerdefinierten Verbindungsstring an und erlauben die Anpassung der einzelnen Verbindungsparameter, die für den Zugriff auf entfernte Datenbanken gesetzt werden müssen.
Abbildung 8.6: Nicht gerade anwenderfreundlich: JDBC-Treiber
Wie bei den anderen Verbindungstypen auch, müssen Sie der Verbindung einen Namen zuweisen, damit UltraDev sie erkennt. Sie müssen ferner einen Benutzernamen und ein Kennwort für den Datenbankzugriff vergeben. So weit ist also alles wie gehabt, doch gibt es zwei weitere Eingabefelder, die der Erklärung bedürfen:
org.gjt.mm.mySQL.Driver
. Wenn Sie zusammen mit
Ihrem Datenbankserver eine Dokumentation erhalten haben und er JDBC-
Verbindungen unterstützt, sollte der Treiber sehr gut beschrieben sein.
jdbc:mySQL://192.168.0.1/ud1
, wobei »192.168.0.1« die
IP-Adresse Ihres Rechners wäre und »ud1« der Name Ihrer Datenbank.
Nachdem wir eine Verbindung definiert haben, sollten wir zu guter Letzt noch testen, ob UltraDev nun auch wirklich mit der Datenbank kommunizieren kann. Der einfachste (und unspektakulärste) Weg ist ein kurzer, trockener Klick auf den Button Testen im Fenster Verbindung definieren. Hat alles geklappt, wird das Dialogfenster Verbindung wurde erfolgreich hergestellt angezeigt, wie in Abb. 8.7 zu sehen.
Abbildung 8.7: Der erfolgreiche Verbindungsaufbau wird durch dieses lakonische Fenster signalisiert.
Konnte kein Verbindungsaufbau erfolgen, erhalten Sie eine detaillierte Fehlermeldung der folgenden Art:
Wenn Sie einen ODBC-Treiber für Ihre Datenbankverbindung verwenden und eine Benutzername/Kennwort-Fehlermeldung erhalten, sollten Sie sich vergewissern, ob Sie den ODBC-DSN korrekt konfiguriert haben. Vielleicht haben Sie im Konfigurationsmenü Namen oder Passwort falsch eingegeben. Wenn Sie noch keinen ODBC-Treiber eingerichtet haben, möchte ich Sie noch einmal daran erinnern, sich mit dem Kapitel MySQL und ODBC-Treiber am Ende dieser Lektion zu befassen.
Gehen wir einmal ganz optimistisch und zuversichtlich davon aus, dass der Verbindungstest positiv war. Wenn nicht, müssen Sie wohl oder übel noch einmal alle Einstellungen durchgehen und genau überprüfen. Wenn Sie hier keine Fehler entdecken können, könnte das Problem beim Datenbankserver selbst liegen, vor allem wenn Sie sich mit einer Datenbank auf einem entfernten Server verbinden. Die meisten Datenbankserver können den Zugang IP-abhängig sperren. Es ist sogar so, dass die meisten Datenbankserver den Zugriff für sämtliche Anwender zunächst einmal grundsätzlich sperren und erst im Bedarfsfall freigeben. In solchen Fällen müssten Sie zunächst einige Einstellungen an der Datenbank selbst verändern, bevor Sie darauf zugreifen können.
Unsere Verbindung wurde also erfolgreich aufgebaut und wir könnten so weit ganz glücklich sein. Aber ist dieses kleine graue Mitteilungsfenster wirklich alles, was wir uns vom Leben erhofft haben? Nein! Wenn Sie mit eigenen Augen sehen wollen, dass Sie nun wirklich mit Ihrer Datenbank verbunden sind, schließen Sie zunächst die Fenster Verbindungen definieren und Verbindungen. Öffnen Sie nun in der Dokumentansicht eine neue Datei. Das Dokument kann ruhig leer sein, wir müssen nur ein Serververhalten hinzufügen, um überprüfen zu können, ob die Verbindung wirklich aktiv ist.
Die Testabfrage einer Datensatzgruppe (siehe Abb. 8.8) ist in der Tat ein weit befriedigenderer Beweis dafür, dass unser Bemühen nicht fruchtlos war.
Abbildung 8.8: Die Testabfrage einer Datensatzgruppe zeigt die tatsächlichen Daten einer Tabelle an.
Das sollte eigentlich Beweis genug sein, dass die Dinge tatsächlich funktionieren wie behauptet. Wenn nicht, dann harren Sie der morgigen Lektion.
Datenbanken werden auf dem Mac bisher eher wenig unterstützt. Es gibt zwar einen ODBC-Treiber-Manager, aber dieser führt ein ziemliches Schattendasein. Die meisten Mac-User wissen nicht einmal, dass er überhaupt existiert. Diese Verhältnisse könnten sich allerdings mit der Einführung von Mac OS X ändern, das dank seiner verschiedenen UNIX-Unterbauten mit einer guten ODBC-Unterstützung kommt.
Doch gibt es auch für all diejenigen, die ihr altes Mac OS weiter verwenden wollen, eine Möglichkeit, UltraDev für die Entwicklung dynamischer Websites einzusetzen: ein JDBC/ ODBC-Gespann, das per RmiJdbc-Treiber aneinander gekoppelt wird.
Dieses kleine Stückchen Software verlinkt zwei JDBC-Treiber miteinander. Im Zusammenspiel mit einem JDBC-ODBC-Treiber auf einem Windows NT-Rechner kann ein Mac mithilfe dieses Treibers auf Datenquellen unter NT zugreifen. Windows NT fungiert als Übersetzer zwischen den ODBC-Treibern auf dem Rechner und der JDBC- Verbindung zum Mac. Somit steht jede auf dem NT-Server verfügbare ODBC- Datenbankverbindung nun auch auf dem Mac als JDBC-Datenquelle zur Verfügung. Als weitere Konsequenz stehen damit auch auf dem Mac die meisten Datenbanken für die Entwicklung von ColdFusion- und JSP-Anwendungen offen. Abb. 8.9 veranschaulicht das Zusammenspiel der verschiedenen Treiber.
Abbildung 8.9: Der ODBC-JDBC-Treiber fungiert als Übersetzer und öffnet dem Mac den Weg in eine größere Datenbankwelt.
Dann wollen wir zur Tat schreiten. Voraussetzung ist, dass Sie neben Ihrem Mac auch noch einen NT-Server besitzen und dass beide Rechner miteinander vernetzt sind. Als NT- Rechner genügt ein alter Pentium 90. Für den Übersetzungsdienst ist dessen Leistung ausreichend.
Auf dem Mac müssen Sie folgende Installationsschritte durchführen:
Kopieren Sie die Datei RmiJdbc.jar
von der UltraDev-CD auf die Festplatte. Sie können
auch die aktuellste Version des Treibers als gepackte Datei aus dem Internet herunterladen:
http://www.objectweb.org/RmiJdbc/rmijdbcDownload.htm
Macromedia gibt im Handbuch zu UltraDev eine andere Download-Adresse für den RmiJdbc-Treiber an. Unter diesem Link liegt die Macromedia-Version des Treibers. Der Link, den ich im Buch angebe, führt zur Homepage der RmiJdbc-Entwickler. Ich empfehle Ihnen, auf dieser Website vorbeizuschauen, egal woher Sie Ihren Treiber beziehen, denn auf dieser Seite finden Sie wertvolle Informationen.
Nebenbei bemerkt funktioniert dieser Treiber nicht nur auf dem Mac. Sie können ihn immer verwenden, wenn Sie über Netzwerk auf einen anderen JDBC-Treiber zugreifen möchten (in diesem Fall den JDBC-ODBC-Treiber von Sun).
Nun müssen den Treiber noch im richtigen Verzeichnis installieren - im Systemordner
unter Extensions
> MRJ Libraries > MRJClasses
(siehe Abb. 8.10).
Abbildung 8.10: Der Ordner MRJClasses
: Hier werden der RmiJdbc- und alle anderen Java-Treiber installiert.
Falls dieser Ordner auf Ihrem Rechner nicht existiert, haben Sie vermutlich nicht die richtige Version des Macintosh Runtime for Java installiert. Dem lässt sich aber leicht abhelfen, da auf der UltraDev-CD die aktuellste Version des MRJ installiert ist. Alternativ können Sie sich die letzte Version bei Apple herunterladen:
http://asu.info.apple.com/
Nachdem Sie die .jar
-Datei mit dem JDBC-Treiber im richtigen Verzeichnis installiert
haben, sollten Sie den Rechner neu starten, damit das System den Treiber erkennt.
Danach ist der Treiber einsatzbereit. Nach dem Neustart können Sie mittels RmiJdbc-
Treiber eine Datenbankverbindung einrichten. Eine korrekt konfigurierte Verbindung
sehen Sie in Abb. 8.11.
Abbildung 8.11: Konfigurieren Sie in UltraDev den RmiJdbc-Treiber, um auf den NT-Server zugreifen zu können.
Folgende Parameter müssen Sie in die Eingabefelder eintragen. Sie müssen auch die Design-Zeit-Einstellungen entsprechend diesen Werten verändern:
jdbc:rmi://<IP oder Hostname des NT-Servers>/jdbc:odbc:<Windows NT
Data Source Name>
Wenn Sie zum ersten Mal einen JDBC-Treiber auf einem Mac einrichten, könnte Ihnen beim Anblick des Eingabefeldes Treiber vielleicht der Gedanke kommen, dass es sich hier um eine bestimmte Datei handelt, die an einem bestimmten Ort auf dem Rechner gespeichert ist. Doch ein Suchlauf mit Sherlock fördert nichts zu Tage. Die
.jar
-Datei, die Sie zuvor installiert haben, ist eine Archivdatei, die eine oder mehrere Java-Klassen enthält, die zusammen den Treiber bilden. Wenn Ihr System einen JDBC-Treiber anfordert, durchsucht es die.jar
-Datei nach den benötigten Klassen. Das klingt vielleicht etwas ungewohnt, aber es funktioniert.
Nachdem Sie Ihren Mac eingerichtet haben, müssen Sie sich um den NT-Server kümmern, der die ODBC-Datenquelle verwaltet und sie dem Mac zur Verfügung stellt. Die Konfiguration der NT-Server-Seite ist etwas aufwändiger, fassen Sie sich daher in Geduld, wenn nicht alles gleich beim ersten Mal klappt.
Für diesen Abschnitt wird davon ausgegangen, dass Sie Windows NT 4.0-Server und mindestens Service Pack 4 installiert haben. Wenn Sie NT frisch aufgespielt haben, um dessen JDBC/ODBC-Übersetzungsdienste zu nutzen, sollten Sie unbedingt erst die erforderlichen Service Packs installiert haben, bevor Sie weitere Schritte unternehmen.
Damit der NT-Rechner als Übersetzer zwischen einer ODBC-Datenquelle und einem Mac mit RmiJdbc-Treiber fungieren kann, muss zunächst auf der Windows-Maschine ein funktionierender ODBC-Treiber eingerichtet werden. Bevor diese Voraussetzung nicht gegeben ist, wäre es ziemlich unklug, irgendwelche weiteren Schritte zu unternehmen. Eine falsch konfigurierte ODBC-Datenquelle kann das Leben zur Hölle machen, wenn Sie in einem Client-Server-Pool nach Fehlern in der JDBC-ODBC-Verbindung suchen müssen. Falls Sie noch nie einen ODBC-Treiber konfiguriert haben, sollten Sie zuerst den entsprechenden Abschnitt am Ende des Kapitels über die Verbindung einer ODBC- Datenquelle mit einer MySQL-Datenbank lesen. Dort wird die Installation einer MySQL- Datenbank beschrieben sowie die Konfiguration der ODBC-Verbindung.
Zweitens müssen Sie auf Ihrem NT-Rechner Java installieren. Hierzu müssen Sie sich lediglich den Java-Installer 1.1.8 von der Sun-Website herunterladen:
http://java.sun.com/products/jdk/1.1/jre/download-jre-windows.html
Java 1.1.8 ist die jüngste Version der 1.1-Java-Implementierung. Haben Sie Java 2 (1.2) installiert oder möchten es verwenden, sollte es keine Probleme geben. Die Version 1.1.8 ist die Version von Java, die von allen Plattformen (Windows, Mac, Linux) unterstützt wird. Die Version 2.0 leidet noch an gewissen Kinderkrankheiten, aber man darf davon ausgehen, dass sie bald ausgereift ist und die Version 1.1.8 ablöst.
Nachdem Sie sich das Java Development Kit heruntergeladen haben, installieren Sie es mit Doppelklick auf das Icon Installieren und folgen den Anweisungen des Installationsprogramms. Während des Installationsvorgangs wird lediglich die Java- Distribution in einem Ordner auf dem Windowsrechner abgelegt. Der ganze Vorgang ist eine Sache von Minuten.
Legen Sie als Nächstes einen Ordner für die Datei RmiJdcb.jar
an, z.B. c:\rmijdcb
, und
laden Sie den Treiber unter folgender Webadresse herunter:
http://www.objectweb.org/RmiJdbc/rmijdbcDownload.htm
Sie können natürlich auch den Treiber von der Programm-CD verwenden, ganz nach Belieben.
Im letzten Schritt müssen Sie den Pfad der Datei RmiJdbc.jar
in die CLASSPATH
-
Umgebungsvariable von NT schreiben. So findet das Java-Laufzeitsystem die .jar
-Datei
und kann die dort gespeicherte RmiJdbc-server-class ausführen. Dieser Vorgang ist
identisch mit dem Ablegen der .jar
-Datei im Ordner MRJClasses
auf dem Mac. Der
Unterschied ist der, dass Sie unter NT Java-Klassen in jedes beliebige Verzeichnis
schreiben können, solange Sie den Pfad in die CLASSPATH
-Variable eintragen. Mac OS
sieht standardmäßig im Ordner MRJClasses nach.
Um die CLASSPATH
-Variable auf dem NT-Server zu setzen, befolgen Sie folgende Schritte:
CLASSPATH
und markieren Sie ihn mit einem Mausklick. Die Variable CLASSPATH
wird
dann im Feld Variable unten im Fenster angezeigt.
CLASSPATH
nicht gesetzt sein, tragen Sie sie in das Feld Variable
ein. Unter Windows 2000 klicken Sie auf den Button Neu und nennen die Variable
CLASSPATH
.
RmiJdbc.jar
ein. Haben Sie die
Variable eben erst definiert, brauchen Sie nur c:\rmijdbc
einzugeben. Ist die Variable
bereits gesetzt, hängen Sie den Pfad, getrennt durch ein Semikolon (;), einfach an
bereits definierte Pfade an.
CLASSPATH
wird nun in der Liste Systemvariablen angezeigt.
In Abb. 8.12 wurde im Dialogfenster Systemeigenschaften die Variable CLASSPATH
markiert und ihr ein Wert zugewiesen.
Abbildung 8.12: Durch Setzen der CLASSPATH
-Variable kann Java die Datei RmiJdbc
finden.
Bevor Sie das Dialogfenster Systemeigenschaften schließen, sollten Sie auch noch den
Pfad zum Verzeichnis bin
des Java-Laufzeitsystems angeben. Wenn Sie diesen Wert nicht
setzen, müssen Sie jedes Mal den vollen Pfad angeben, wenn Sie Java starten. Je nachdem,
wo Sie das Java-Laufzeitsystem installiert haben, sieht der Pfad etwa folgendermaßen aus:
c:\jdk1.1.8\bin
. Führen Sie noch einmal die gleiche Prozedur wie beim Setzen der
Variable CLASSPATH
durch, nur dass Sie diesmal die Variable PATH
bearbeiten und den Pfad
zum Java-Laufzeitsystem an den bereits existierenden Pfad anfügen. (Die Variable PATH
ist
bereits vorhanden, Sie müssen Sie nicht neu setzen.) Klicken Sie zum Abschluss wieder
auf Setzen, damit Ihre Änderungen gespeichert werden.
Haben Sie im Dialogfenster Systemeigenschaften sämtliche Einstellungen getroffen, schließen Sie mit Klick auf OK und starten Sie anschließend den Rechner neu, damit alle Änderungen wirksam werden.
Nach dem Neustart des Rechners können Sie den RmiJdbc-Server starten. Öffnen Sie die Kommandozeile und geben Sie Folgendes ein:
java RmiJdbc.RJJdbcServer sun.jdbc.odbc.JdbcOdbcDriver
Der Server startet daraufhin ohne großes Tamtam. Kein großartiges Schauspiel, aber es funktioniert.
Sobald der Server läuft, können Sie am Mac eine Verbindung zu jeder beliebigen Datenquelle auf dem NT-Server herstellen. Der RmiJdbc-Treiber kommuniziert mit dem RmiJdbc-Server auf dem NT-Rechner, der wiederum mit dem der ODBC-Datenquelle kommuniziert.
Der einzige Haken an dieser Konfiguration ist, dass sie zwar läuft, aber dass Sie jedes Mal, wenn Sie den Rechner neu starten oder die Kommandozeile schließen, auch diesen Prozess neu starten müssen. In einer Produktionsumgebung, wo Server und Datenbank rund um die Uhr verfügbar sein müssen, ist das nicht sehr praktikabel.
Sie können den RmiJdbc-Treiber unter Windows NT jedoch als Dienst einrichten. In diesem Fall wird der RmiJdbc-Server automatisch neu gestartet, wenn der Rechner gebootet wird. Der Server läuft im Hintergrund, ohne dass Sie die Kommandozeile öffnen müssen.
Die Originalanleitung, wie man den RmiJdbc-Server als Dienst einrichtet, stammt von der RmiJdbc-Website. Ich stelle diese Informationen hier in modifizierter Form zur Verfügung. Für weitere Informationen empfiehlt sich ein Besuch auf der ObjectWeb- Website:
http://www.objectweb.org/RmiJdbc/
Damit Sie den RmiJdbc-Server als Dienst einrichten können, brauchen Sie die Datei
srvany.exe
aus dem Resource Kit von Windows NT. Für die folgenden Ausführungen
wird davon ausgegangen, dass Sie diese Datei im Verzeichnis c:\tools
gespeichert haben.
Führen Sie nach der Installation folgende Schritte aus:
INSTSRV RmiJdbc c:\tools\svrany.exe
.
regedit
in das Eingabefeld Öffnen, um den Registrierungseditor zu
öffnen.
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\RmiJdbc\Parameters
.
Application
mit dem
Namen REG_SZ
und dem Wert einer .cmd
-Datei, die die Parameter für den RmiJdbc-
Server enthält, z.B. c:\rmijdbc\rmijdbc.cmd
.
Nun müssen Sie die Datei c:\rmijdbc\rmijdbc.cmd
erzeugen, die den Rmidbc-Server
startet. Nachstehend finden Sie ein entsprechendes Beispielskript. Dabei wird davon
ausgegangen, dass die Variable CLASSPATH
richtig gesetzt wurde und das Java-
Laufzeitsystem im Verzeichnis c:\jdk1.1.8\bin
liegt.
@echo off
c:\jdk1.1.8\bin\java RmiJdbc.RJJdbcServer sun.jdbc.odbc.JdbcOdbcDriver >
c:\rmijdbc \rmijdbc_server.log
Als letzten Schritt konfigurieren Sie den neuen Dienst so, dass er automatisch gestartet wird, wenn der Rechner bootet.
Nach dieser Prozedur können Sie sich wieder wie gewohnt Ihrem Mac widmen. Das ganze Verfahren scheint zwar recht aufwändig, doch müssen Sie nur ein paar problemlos erhältliche Programmpakete installieren und bestimmte Einstellungen vornehmen, die denen bei der Einrichtung anderer Datenbankverbindungen weitgehend ähnlich sind. Mit der oben beschriebenen Konfiguration haben Sie auf dem Mac mehr oder weniger dieselben Zugriffsmöglichkeiten auf Datenbanken wie unter Windows.
Das letzte Thema des heutigen Tages beschäftigt sich mit der Einrichtung der MySQL- Datenbank. MySQL ist ein Open Source-Datenbanksystem, das weitgehend konform zu den SQL-Spezifikationen ist. Leider unterstützt es bestimmte recht nützliche Features von UltraDev wie Ansichten und gespeicherte Prozeduren nicht, dafür ist es aber sehr schnell und stabil und gerade für den Einsatz von Webanwendungen sehr beliebt.
Das Sympathische an MySQL ist, dass es für viele Plattformen erhältlich ist und als Open Source-Produkt frei für andere Plattformen kompiliert werden darf. (Die binäre Version für Windows ist allerdings Shareware.) Zuerst werden wir MySQL unter Windows konfigurieren, und dann werden wir uns ansehen, wie wir es unter UNIX/Linux zum Laufen bringen.
Der MySQL-Server läuft ohne Probleme unter Windows 95/98 und natürlich auch unter NT. Spielen Sie jedoch mit dem Gedanken, MySQL in irgendeiner Form als professionellen Datenbankserver einzusetzen, weichen Sie besser auf NT als Produktionsplattform aus. Unter NT können Sie MySQL als Standard-Dienst einrichten.
Unter Windows ist die Installation von MySQL mit ein paar Handgriffen erledigt, da das Programm bereits kompiliert ist:
Nach erfolgter Installation können Sie nach ein paar Handgriffen loslegen. Öffnen Sie das Installationsverzeichnis. Da das Programm nicht ins Startverzeichnis eingetragen wird, müssen Sie das Installationslaufwerk durchsuchen.
Das MySQL-Verzeichnis besteht aus mehreren Ordnern. Für unsere Zwecke ist das
Verzeichnis bin
wichtig. Hier liegen die verschiedenen Applikationen, die wir brauchen,
um MySQL zu kontrollieren. Die beiden, mit denen wir arbeiten werden, sind mysqld
und
mysql
.
MySQL ist eine Client/Server-Anwendung. Auch bei rein lokalem Einsatz braucht
MySQL einen Client, um mit dem Server zu kommunizieren. mysqld
ist ein Server ohne
Oberfläche, die Clientanwendung heißt mysql
.
Den Server starten Sie mit der Betriebssystem-spezifischen Version von mysqld
-
mysqld-opt
unter Windows 95/98, unter NT mysqld-nt
. Durch Doppelklicken auf die
entsprechende Version wird der Server gestartet und verschwindet sofort von der
Oberfläche. Das heißt nicht, dass die Serveranwendung wieder geschlossen wurde, sie legt
sich nur automatisch in den Hintergrund.
Unter NT können Sie MySQL als Dienst einrichten. Dazu müssen Sie das Programm folgendermaßen aufrufen:
c:\mysql\bin\mysqld-nt-install
Dabei wird natürlich davon ausgegangen, dass MySQL im Verzeichnis c:\mysql
liegt -
passen Sie den Pfad Ihrer Arbeitsumgebung entsprechend an. Als Nächstes müssen Sie den
neu eingerichteten MySQL-Dienst so konfigurieren, dass er automatisch gestartet wird.
Nähere Informationen hierzu finden Sie im Abschnitt »RmiJdbc-Server als Dienst
konfigurieren«.
MySQL auf UNIX-Systemen einzurichten erfordert etwas Handarbeit. Verwenden Sie eine Linux-Distribution, müssen Sie sich nur eine RPM herunterladen und folgen der Installationsroutine. Ansonsten müssten Sie sich eine vorkompilierte Version besorgen oder den Sourcecode selbst kompilieren.
Im letzteren Falle laden Sie den Sourcecode unter folgender Adresse herunter: http:// www.mysql.com/downloads/
und entpacken Sie ihn. Die Version, die in diesem Buch verwendet wird, ist mysql-3.23.21- beta.tar.gz, die aktuellste, die zum Zeitpunkt, als ich diese Zeilen schrieb, erhältlich war.
[jray@contempt mysql ]$tar -zvxf mysql-3.23.21-beta.tar.gz | more
mysql-3.23.21-beta/
mysql-3.23.21-beta/Makefile.in
mysql-3.23.21-beta/README
mysql-3.23.21-beta/stamp-h.in
mysql-3.23.21-beta/COPYING
mysql-3.23.21-beta/COPYING.LIB
mysql-3.23.21-beta/Makefile.am
mysql-3.23.21-beta/acconfig.h
mysql-3.23.21-beta/acinclude.m4
...
mysql-3.23.21-beta/support-files/my-huge.cnf.sh
mysql-3.23.21-beta/support-files/mysql-log-rotate.sh
mysql-3.23.21-beta/support-files/mysql.server.sh
mysql-3.23.21-beta/support-files/binary-configure.sh
Starten Sie nun das Konfigurationsprogramm, um eine Makefile für Ihr System zu erzeugen. Daraufhin werden die erforderlichen Systemdaten ausgelesen, was unter Umständen etwas dauern kann.
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
..
creating sql-bench/Makefile
creating tests/Makefile
creating Docs/Makefile
creating support-files/Makefile
creating include/mysql_version.h
creating config.h
...
Ist die Konfigurierung abgeschlossen, müssen Sie das Programm kompilieren. Starten Sie die Kompilierung mit dem Befehl »make«. (Dieser Vorgang dauert eine gewisse Zeit.)
[jray@contempt mysql-3.23.21-beta ]$ make
make all-recursive
make [1]:Entering directory '/home/jray/mysql/mysql-3.23.21-beta '
...
binary-configure.sh > binary-configure-t
/bin/mv binary-configure-t binary-configure
make [2]:Leaving directory '/home/jray/mysql/mysql-3.23.21-beta/support-files '
make [2]:Entering directory '/home/jray/mysql/mysql-3.23.21-beta '
make [2]:Nothing to be done for 'all-am '.
make [2]:Leaving directory '/home/jray/mysql/mysql-3.23.21-beta '
make [1]:Leaving directory '/home/jray/mysql/mysql-3.23.21-beta '
Die Installation ist ebenfalls einfach. Geben Sie nur den Befehl »make install« ein:
[jray@contempt mysql-3.23.21-beta]$ make install
Making install in include
make [1]:Entering directory '/home/jray/mysql/mysql-3.23.21-beta/include '
make [2]:Entering directory '/home/jray/mysql/mysql-3.23.21-beta/include '
make [2]:Nothing to be done for 'install-exec-am '.
/bin/sh ../mkinstalldirs /usr/local/include/mysql
mkdir /usr/local/include
..
make [2]:Nothing to be done for 'install-data-am '.
make [2]:Leaving directory '/home/jray/mysql/mysql-3.23.21-beta '
make [1]:Leaving directory '/home/jray/mysql/mysql-3.23.21-beta '
Starten Sie jetzt den Server. Ist er standardmäßig im Verzeichnis /usr/local/bin
installiert, geben Sie Folgendes ein:
[jray@contempt mysql-3.23.21-beta]$ /usr/local/bin/safe_mysqld &
Über ein Skript können Sie den MySQL-Server starten, wenn der Rechner bootet. Näheres hierzu finden Sie in der MySQL-Dokumentation und im Handbuch zu Ihrer Linux- Distribution.
Um die erfolgreiche Installation von MySQL (unter Windows und Linux) zu testen, stellen
Sie per mysql
-Client eine Verbindung zum Datenbankserver her. Anschließend können
Sie die Systemdatenbank von MySQL auslesen, in der verschiedene Tabellen zur
Zugriffskontrolle auf den Datenbankserver gespeichert sind. Einzelheiten zur
Konfiguration entnehmen Sie bitte der Dokumentation zu MySQL.
Einen grundlegenden Funktionstest führen Sie über die Kommandozeile (Windows: MS-
DOS-Eingabeaufforderung) durch. Es folgt eine Beschreibung der erforderlichen Schritte
unter Windows. Wechseln Sie zunächst in das Verzeichnis mysql/bin
, geben Sie dann am
DOS-Prompt den Befehl »mysql« ein, um den Client zu starten. Verbinden Sie sich mit
der Systemdatenbank mit dem Befehl »connect mysql;«. Geben Sie zuletzt den Befehl
»show tables;« ein. Sie schließen den Client mit dem Befehl »quit«.
Welcome to the mySQL monitor. Commands end with ; or \g.
Your mySQL connection id is 10 to server version: 3.23.29a-gamma
Type 'help;' or '\h' for help. Type '\c' to clear the buffer
mysql> connect mysql;
Connection id: 11
Current database: mysql
mysql>show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| host |
| tables_priv |
| user |
+-----------------+
5 rows in set (0.00 sec)
mysql>quit
Bye
Als Folge dieser Operation wird die interne Datenbank mysql
, die Zugriffsrechte regelt,
sowie die zugehörigen Tabellen angezeigt. Zwar kein Augenschmaus, aber ein Beweis, dass
der Server läuft. Nähere Informationen finden Sie unter http://www.mysql.com/
Bevor Sie einen ODBC-Treiber für MySQL einrichten können, müssen Sie ihn erst aus dem Internet unter folgender Adresse herunterladen: http://www.mysql.com/downloads/ api-myodbc.html. Wählen Sie aus den angebotenen Versionen die richtige für Ihre Windowsplattform aus (95/98, NT). Achtung: Laden Sie die Full-Setup-Version herunter!
Starten Sie nach erfolgtem Download das Setup-Programm:
Abbildung 8.13: Markieren Sie den MySQL-Treiber, ansonsten wird er nicht installiert.
Falls Sie eine Fehlermeldung erhalten, dass Sie Ihr System neu booten und den Installationsvorgang wiederholen sollen, kann es unter Umständen genügen, wenn Sie das Setup etwas modifizieren. Klicken Sie im Dialogfenster auf den Button Advanced und wählen Sie die Option Do Not Install Driver Manager und schließen das Fenster mit OK. In den meisten Fällen ist damit das Problem behoben.
Sobald der Treiber installiert ist, können Sie eine Datenquelle definieren. Führen Sie hierzu folgende Schritte aus (ein anschließender Neustart ist nicht erforderlich):
Abbildung 8.14: Mit einigen wenigen Einstellungen sind Sie mit der Datenbank verbunden.
Abb. 8.14 zeigt die Konfiguration einer Testdatenbank, die ich während der Arbeit an diesem Buch verwendet habe. Im Einzelnen können Sie folgende Einstellungen vornehmen:
Sofern die Verbindung zur Datenbank mysql
korrekt definiert wurde, können Sie sofort
damit arbeiten. Mit MS Access oder einer anderen Anwendung lässt sich eine Verbindung
schnell testen.
Waren Sie nicht auch überwältigt von den zahllosen Einstellungsmöglichkeiten, die myODBC bietet? Die meisten können Sie unbeachtet lassen, der Treiber funktioniert trotzdem. Wenn Sie Näheres dazu wissen wollen, werden Sie in der Dokumentation zum MySQL-Server fündig.
Auf vielen Windowsrechnern ist MS Access schon installiert und kann für Datenbankanbindungen mit UltraDev verwendet werden. Genau wie bei MySQL müssen Sie einen Access-spezifischen ODBC-Treiber einrichten und in UltraDev verwenden. Sofern Sie Access bereits installiert haben, ist auch der passende ODBC-Treiber bereits vorhanden.
Abbildung 8.15: Um eine ODBC-Datenquelle für eine Access-Datenbank einzurichten, müssen Sie lediglich den DSN und die Datenbank selbst zuweisen.
In Abb. 8.15 sehen Sie ein Beispiel für eine Muster-ODBC-Verbindung zu einer Access- Datenbank:
Falls Sie keinen ODBC-Treiber finden, müssen Sie ihn von der MS-Office-CD nachinstallieren. Genau wie im Falle des MySQL-Treibers können Sie auch nach der Konfiguration des Access-Treibers von UltraDev aus sofort auf die Datenquelle zugreifen.
Der Einsatz von MySQL erfolgt zu reinen Trainingszwecken. Der Hintergrund ist, jedem Anwender und für jede Plattform ein freies Datenbanksystem an die Hand zu geben, das schnell einsatzbereit ist. Für komplexere Anwendungen empfiehlt sich der Einsatz professioneller Datenbanken wie PostgreSQL (http://www.postgresql.com/) oder der SQL-Server von Microsoft, die zusätzliche Programmfeatures von UltraDev unterstützen.
Es mag zwar verlockend sein, MS Access als Datenbankserver einzusetzen, doch kommen Office-Programme schnell an ihre Grenzen, wenn mehrere Benutzeranfragen parallel zu verarbeiten sind. Wenn Access denselben Leistungsumfang böte wie der SQL-Server von Microsoft, was wäre dann der Sinn eines solchen Produkts?
Andererseits ist MS Access ein ausgezeichnetes Entwicklungstool, mit dem sich funktionierende Arbeitsmodelle realisieren lassen, die dann auf einen größer dimensionierten SQL-Server portiert werden.
Gegenstand der heutigen Lektion war die Einrichtung von Datenbankverbindungen, die die Grundlage für die Entwicklung von dynamischen Webapplikationen mit UltraDev darstellen. Datenbankverbindungen können lokal oder über den Anwendungsserver definiert werden.
Mögliche Verbindungstypen zu einer Datenbank sind ADO/ODBC, ColdFusion und JDBC. Mit UltraDev 4.0 stehen diese Verbindungstypen auch Mac-Usern zur Verfügung, doch müssen sie sich über den Anwendungsserver verbinden. Die Ausnahme sind Verbindungen per JDBC oder fortgeschrittene ColdFusion-Konfigurationen. Diese beiden Verbindungsarten erlauben Mac-Usern den Datenbankzugriff per JDBC-Treiber.
Wenn Sie sich als Mac-Anwender in puncto Datenbankverbindungen eingeschränkt fühlen, steht Ihnen per RmiJdbc-Treiber eine größere Auswahl an Verbindungstypen zur Verfügung. Über einen NT-Server stellt RmiJdbc eine Brücke zwischen den ODBC- Treibern des NT-Rechners und dem JDBC-Treiber auf dem Mac her.
Zur Vervollständigung des Stoffes wurde zum Abschluss der heutigen Lektion das MySQL- Datenbankssytem vorgestellt. MySQL ist ein äußerst stabiler und kostengünstiger Datenbankserver, den Sie gut mit UltraDev kombinieren können. Er bietet zwar nicht alle Features kommerzieller Produkte, ist jedoch extrem schnell und eignet sich hervorragend für Internet-Anwendungen. Jedoch lassen sich nicht alle Beispiele in diesem Buch problemlos realisieren, da es an bestimmten Zusatzfunktionen fehlt.
Frage:
Welche Datenbanken kann ich zusammen mit UltraDev verwenden?
Antwort:
Zu den meisten modernen Datenbanken gibt es sowohl ODBC- wie auch JDBC-
Treiber, sogar zum SQL Server von Microsoft. Insofern dürfte es keine Probleme
bei der Einrichtung einer Datenbankverbindung geben.
Frage:
Kann man eine eingerichtete Datenbankverbindung auf einen anderen Rechner
transferieren?
Antwort:
Die Verbindungsparameter werden zusammen mit den übrigen Dateien der Site
in einem eigenen Ordner Connections
gespeichert. Jeder Anwender, der seine
Site mit denselben Einstellungen einrichtet, kann auf dieselben
Datenbankverbindungen zugreifen. Frühere Versionen von UltraDev haben diese
Verbindungsdaten in der Datei connections.xml
gespeichert, die im Ordner
Configuration
> Connections
liegt. Wenn Sie mit UltraDev 1.0 arbeiten,
brauchen Sie diese Datei nur auf den anderen Rechner zu kopieren, dann stehen
diese Verbindungsdaten auch dort zur Verfügung.
Frage:
Warum kann man eigentlich keine JDBC-Treiber zusammen mit ASP verwenden?
Antwort:
ASP unterstützt ursprünglich keine JDBC-Treiber. Es gäbe zwar einen
Workaround, aber UltraDev akzeptiert nur reinen ADO-ASP-Code.
Frage:
Welche Funktionen unterstützt MySQL nicht, die für den praktischen Einsatz unter
Umständen wichtig wären?
Antwort:
Was in erster Linie fehlt, sind Ansichten und gespeicherte Prozeduren. Für
komplexe Anwendungen könnten diese Features wichtig werden. In solchen
Fällen müssten Sie entweder zu einem anderem Produkt wechseln oder per
Handarbeit die fehlenden Funktionen implementieren, indem Sie den vom
Server automatisch generierten Code entsprechend bearbeiten.
Der Workshop dient dazu, den gelesenen Stoff mithilfe von gezielten Fragen und Übungen zu vertiefen. Die Antworten finden Sie in Anhang A, »Quiz-Antworten«.