< Zurück | Weiter >

Lerneinheit 3: Die Datenbankverbindung konfigurieren

In dieser Lerneinheit verbinden Sie Ihr Projekt mit der Datenbank, die Sie in der vorherigen Lerneinheit importiert haben.
Da es nicht das Ziel dieses Lernprogramms ist, Ihnen zu zeigen, wie Sie die Verbindung zu einer Datenbank herstellen, wird dieser Prozess in dieser Lerneinheit auch nicht in allen Einzelheiten erklärt. In Kürze werden Sie eine Datenbankverbindung konfigurieren, mit der Ihre EGL-Anwendung eine Verbindung zu der Datenbank herstellen kann, wenn Sie die Anwendung entwerfen (Entwicklungszeitverbindung) und wenn Sie die Anwendung auf dem Server ausführen (Laufzeitverbindung).

Wie bereits in einer vorherigen Lerneinheit erläutert, verwendet WebSphere Application Server die Datenbankverbindungsinformationen im EAR-Projekt. Tomcat verwendet die Datenbankverbindungsinformationen im Webprojekt. Daher unterscheiden sich die Datenbankverbindungsschritte für jeden Server.

Die Verbindung erstellen

Ungeachtet des verwendeten Servers müssen Sie eine Entwicklungszeitverbindung zur Datenbank erstellen. Wenn Sie WebSphere Application Server verwenden, erstellt EGL automatisch auch eine passende Laufzeitverbindung. Wenn Sie Tomcat verwenden, werden Sie mit den später in dieser Lerneinheit aufgeführten zusätzlichen Schritten durch das Zuordnen dieser Verbindung zu Tomcat geführt. In der nächsten Lerneinheit verwenden Sie diese Entwicklungszeitverbindung ferner zum Erstellen des Starter-EGL-Codes.

  1. Klicken Sie in der Sicht 'Enterprise-Explorer' mit der rechten Maustaste auf das Projekt 'EGLWeb', und klicken Sie anschließend auf Eigenschaften.
  2. Klicken Sie im Fenster 'Eigenschaften' auf EGL-Laufzeitdatenquelle.
  3. Wählen Sie auf der Seite 'EGL-Laufzeitdatenquelle' die Option Werte von einer Datentoolsverbindung laden aus, und klicken Sie anschließend auf Neu. Das Fenster 'Neue Verbindung' wird geöffnet.
  4. Klicken Sie im Fenster Verbindungsprofil unter Verbindungsprofiltypen auf Derby.
  5. Geben Sie in das Feld Name den folgenden Namen ein:
    EGLDerbyDB
  6. Sie können die Beschreibung leer lassen. Klicken Sie auf Weiter.
  7. Lassen Sie in der Liste Treiber den Standardwert BIRT SampleDb Derby Embedded Driver stehen.
  8. Wählen Sie unter Eigenschaften im Feld Datenbankposition die Option Durchsuchen aus und navigieren Sie zu dem folgenden Ordner:

    arbeitsbereichsposition/EGLWeb/WebContent/EGLDerbyDB

    Hierbei ist arbeitsbereichsposition der vollständige Pfad zu Ihrem aktuellen Arbeitsbereich. Klicken Sie auf OK.

  9. Löschen Sie den Eintrag im Feld Benutzername und lassen Sie das Feld Kennwort leer. Für diese Datenbank benötigen Sie keinen Benutzernamen und kein Kennwort.
  10. Akzeptieren Sie den Standardwert für URL. Sie können das Markierungsfeld für Datenbank erstellen (falls erforderlich) inaktivieren, da die Datenbank bereits vorhanden ist. Stellen Sie sicher, dass Verbinden, wenn der Assistent beendet ist ausgewählt ist.
  11. Klicken Sie auf Verbindung testen Wenn alle Informationen korrekt sind, sieht das Fenster 'Neue Verbindung' mit Ihren eigenen Arbeitsbereichs- und Positionsinformationen in den Feldern Datenbankposition wie im folgenden Beispiel aus:
    Das Fenster 'Treiber und Verbindungsdetails angeben' zeigt eine erfolgreiche Verbindung an.
  12. Klicken Sie auf OK und um das Fenster 'Verbindung testen' zu schließen.
  13. Klicken Sie auf Fertig stellen. Die neue Verbindung ist erstellt und die nötigen Informationen für die Verbindung sind in den Feldern unten eingetragen:
    Neue Laufzeitdatenquelle auf der Seite 'Eigenschaften'

    Beachten Sie, dass EGL dieser Verbindung einen JNDI-Namen gegeben hat, der als Kennung für die Verbindung verwendet wird. Der JNDI-Name lautet standardmäßig jdbc/EGLDerbyDB und basiert auf dem Namen der Datenbank. Die Anwendung verwendet diesen Namen, um während der Ausführung auf die Datenbankverbindung zuzugreifen.

  14. Klicken Sie auf OK.
  15. Möglicherweise werden Sie in einem Fenster gefragt, ob Sie die Informationen in den Standardbuildoptionen für dieses Projekt aktualisieren wollen. Wenn dieses Fenster angezeigt wird, klicken Sie auf Ja.
  16. Erweitern Sie in der Sicht 'Projektexplorer' das Projekt EGLWeb und den Ordner EGLSource. Öffnen Sie die Builddatei für das Projekt, indem Sie doppelt auf die Datei EGLWeb.eglbld in der Sicht 'Projektexplorer' klicken. Die Builddatei wird im Editor für Build-Parts geöffnet.
  17. Überprüfen Sie, ob im Fenster 'EGL-Laufzeitdatenquelle' die Builddeskriptoroptionen auf der Basis der Verbindungsinformationen festgelegt wurden. Die Builddeskriptoroptionen sollten für WebSphere Application Server wie folgt festgelegt sein:
    Bild der Builddeskriptoroptionen, die die richtigen Einstellungen für die Datenbankverbindung aufweisen
    Damit die Datenbankverbindung ordnungsgemäß hergestellt werden kann, müssen die folgenden Optionen festgelegt werden:
    dbms
    Diese Builddeskriptoroption gibt den Typ der Datenbank an, dies ist in diesem Fall DERBY.
    sqlDB
    Diese Builddeskriptoroption gibt die Verbindungs-URL oder eine Zeichenfolge an, die der Server zum Auffinden der Datenbank verwendet. Das Format der Verbindungs-URL ist für jeden Datenbanktyp verschieden. Bei Derby setzt sich das Format aus dem Verbindungsprotokoll (hier JDBC), einem Doppelpunkt, dem Typ der Datenbank (Derby), einem weiteren Doppelpunkt als Trennzeichen, dem Pfad zur Datenbank auf dem Datenträger und beliebigen weiteren Parametern für die Verbindung zusammen. In diesem Fall lautet die Verbindungs-URL in etwa wie das folgende Beispiel, dabei ist D:\MyData\workspace_jsf_tutorial durch den Pfad zu Ihrer Datenbank zu ersetzen:
    jdbc:derby:D:\MyData\workspace_jsf_tutorial\EGLWeb\WebContent\EGLDerbyDB
    sqlValidationConnectionURL
    Diese Builddeskriptoroption legt eine Verbindungs-URL fest, mit der die Verbindung zur Datenbank geprüft werden soll. In diesem Fall, wie in den meisten Fällen, ist diese Option mit sqlDB identisch.
    sqlJDBCDriverClass
    Diese Builddeskriptoroption legt den Namen des Datenbanktreibers fest, das ist das Programm, mit dem auf die Datenbank zugegriffen wird. Das Fenster 'Neue Verbindung' hat diesen Namen aus der Datei derby.jar abgerufen: org.apache.derby.jdbc.EmbeddedDriver.
    sqlJNDIName
    Der JNDI-Name, der die Verbindung während der Ausführung darstellt.
  18. Wenn die Builddeskriptoroptionen auf der Basis der Informationen festgelegt wurden, die Sie im Fenster 'Neue Verbindung' eingegeben haben, schließen Sie den Builddeskriptor, ohne Änderungen vorzunehmen. Wenn die Builddeskriptoroptionen nicht festgelegt wurden, führen Sie diese Schritte aus, um sie festzulegen:
    1. Wählen Sie in der Liste Datenbankoptionen mit Hilfe von Verbindung laden Ihre Verbindung EGLDerbyDB aus. Mit Ausnahme der Option sqlJNDIName werden mehrere Optionen festgelegt.
    2. Legen Sie für die Option sqlJNDIName den folgenden JNDI-Namen wie vorgegeben fest:
      jdbc/EGLDerbyDB
      Anmerkung: Zum Öffnen der Option sqlJNDIName für die Bearbeitung klicken Sie zweimal langsam in der Spalte Wert neben dieser Option. Außerdem können Sie dreimal schnell in der Spalte Wert klicken.
      Die Werte der Builddeskriptoroptionen stimmen jetzt mit den oben beschriebenen Werten überein.
    3. Speichern und schließen Sie den Builddeskriptor.
    4. Sie konfigurieren optional das Fenster 'EGL-Laufzeitdatenquelle' für die zukünftige Durchführung dieser Änderungen, indem Sie die zugeordnete Benutzervorgabe aktivieren. Klicken Sie auf Fenster > Benutzervorgaben und anschließend auf EGL > Standard-Builddeskriptor. Wählen Sie unter Standardbuildoptionen für das Projekt aktualisieren, wenn die Laufzeitdatenquelle geändert wird die Option Immer aus, damit die Builddeskriptoroptionen automatisch aktualisiert werden, oder wählen Sie Benutzereingabe für die manuelle Eingabe aus. Diese Einstellung wird wirksam, wenn Sie das Fenster 'EGL-Laufzeitdatenquelle' das nächste Mal verwenden.

Prüfpunkt für die Lerneinheit

In dieser Lerneinheit konfigurieren Sie eine Datenbankverbindung für das Projekt.
Wenn Sie die Seite 'EGL-Laufzeitdatenquelle' im Fenster 'Eigenschaften' des Projekts verwendet haben, haben Sie zuerst eine Entwicklungszeitverbindung zur Datenbank mithilfe der Datentools der Workbench erstellt. Anschließend hat EGL, wenn Sie WebSphere Application Server verwenden, die Informationen in dieser Entwicklungszeitverbindung verwendet, um eine passende Verbindung für die Ausführungszeit zu erstellen. In diesem Fall hat EGL die folgenden Änderungen an Ihren Projekten vorgenommen:
  • EGL hat die Werte bestimmter datenbankbezogener Builddeskriptoroptionen festgelegt, wie weiter oben in der Lerneinheit beschrieben.
  • EGL hat einen JNDI-Namen erstellt, der als Name für die Verbindung verwendet werden soll. Der für Ihr Projekt erstellte JNDI-Name lautet standardmäßig jdbc/EGLDerbyDB und basiert auf dem Namen der Datenbank.
  • Bei Versionen von WebSphere Application Server früher als Version 7 hat EGL eine Datenquelle zum Implementierungsdeskriptor des EAR-Projekts hinzugefügt. Diese Datenquelle ordnet den JNDI-Namen zur Datenbank zu. Bei Version 7 muss die Datenquelle nicht mehr in der EAR definiert werden.
  • EGL hat einen Ressourcenverweis auf diesen JNDI-Namen im Webimplementierungsdeskriptor WebContent\WEB-INF\web.xml des Projekts 'EGLWeb' hinzugefügt. Jetzt kann das Projekt 'EGLWeb' die Datenquelle, die im EAR-Projekt definiert ist, mithilfe des JNDI-Namens verwenden. Das Aussehen des Editors kann abhängig von dem von Ihnen verwendeten Anwendungsserver sehr variieren. Im folgenden Beispiel wird der Editor für WebSphere Application Server Version 7 dargestellt.
    Der Webimplementierungsdeskriptor, der den Ressourcenverweis anzeigt

Wenn Sie Tomcat verwenden, hat Ihr Projekt kein EAR-Projekt, so dass EGL eine Kontextdatei zu dem Webprojekt hinzugefügt hat, die die Informationen für die Verbindung bereitstellt. Die Kontextdatei führt im Wesentlichen dieselbe Task aus wie die Informationen in den Implementierungsdeskriptoren: Die Datei ordnet den JNDI-Namen der Position der Datenbank sowie weitere Informationen zu, die der Server für das Herstellen einer Verbindung zur Datenbank benötigt. Die Verbindung ist nur für dieses Projekt gültig.

Anmerkung: Ab diesem Punkt sind die meisten Schritte für beide Servertypen identisch.
< Zurück | Weiter >

Feedback