< 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.

Informationen zu diesem Vorgang

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

Informationen zu diesem Vorgang

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.

So geht's

Vorgehensweise

  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 im Bereich Verbindungsprofiltypen auf Derby.
  5. Geben Sie bei Name den folgenden Namen ein:
    EGLDerbyDB
  6. Die Beschreibung können Sie leer lassen. Klicken Sie auf Weiter.
  7. Behalten Sie in der Liste Treiber die Standardeinstellung BIRT SampleDb Derby Embedded Driver bei.
  8. Klicken Sie unter Eigenschaften im Feld Datenbankposition auf Durchsuchen und wechseln Sie in den folgenden Ordner:

    arbeitsbereichsposition/EGLWeb/WebContent/EGLDerbyDB

    arbeitsbereichsposition steht für den vollständigen Pfad zu Ihrem aktuellen Arbeitsbereich. Klicken Sie auf OK.

  9. Löschen Sie im Feld Benutzername den Inhalt und lassen Sie das Feld Kennwort leer. Für diese Datenbank benötigen Sie weder einen Benutzernamen noch ein Kennwort.
  10. Übernehmen Sie den Standardwert für URL. Sie können das Kontrollkästchen für Datenbank erstellen (falls erforderlich) abwählen, da die Datenbank bereits vorhanden ist. Stellen Sie sicher, dass die Option Bei Abschluss des Assistenten Verbindung herstellen ausgewählt ist.
  11. Klicken Sie auf Verbindung testen. Wenn alle Angaben korrekt sind, sollte das Fenster 'Neue Verbindung' wie das folgende Beispiel aussehen, mit Ihren eigenen Arbeitsbereichs- und Positionsinformationen im Feld Datenbankposition:
    Im Fenster 'Treiber und Verbindungsdetails angeben' wird eine erfolgreiche Verbindung angezeigt.
  12. Klicken Sie auf OK und schließen Sie das Fenster für den Verbindungstest.
  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-Abschnitte geöffnet.
  17. Überprüfen Sie, ob im Fenster 'EGL-Laufzeitdatenquelle' die Build-Deskriptoroptionen auf der Basis der Verbindungsinformationen festgelegt wurden. Die Build-Deskriptoroptionen sollten für WebSphere Application Server wie folgt festgelegt sein:
    Abbildung der Build-Deskriptoroptionen, 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 Build-Deskriptoroption gibt den Typ der Datenbank an, dies ist in diesem Fall DERBY.
    sqlDB
    Diese Build-Deskriptoroption 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 Build-Deskriptoroption 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 Build-Deskriptoroption 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 Build-Deskriptoroptionen auf der Basis der Informationen festgelegt wurden, die Sie im Fenster 'Neue Verbindung' eingegeben haben, schließen Sie den Build-Deskriptor, ohne Änderungen vorzunehmen. Wenn die Build-Deskriptoroptionen nicht festgelegt wurden, führen Sie diese Schritte aus, um sie festzulegen:
    1. Wählen Sie in der Liste Datenbankoptionen mithilfe 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 Build-Deskriptoroptionen stimmen jetzt mit den oben beschriebenen Werten überein.
    3. Speichern und schließen Sie den Build-Deskriptor.
    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-Build-Deskriptor. Wählen Sie unter Standardbuildoptionen für das Projekt aktualisieren, wenn die Laufzeitdatenquelle geändert wird die Option Immer aus, damit die Build-Deskriptoroptionen 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 Build-Deskriptoroptionen 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.
  • EGL hat einen Ressourcenverweis auf diesen JNDI-Namen im Webimplementierungsdeskriptor des Projekts 'EGLWeb' (WebContent\WEB-INF\web.xml) hinzugefügt. Jetzt kann das Projekt 'EGLWeb' die Datenquelle, die im EAR-Projekt definiert ist, mithilfe des JNDI-Namens verwenden. Der Editor sieht sehr unterschiedlich aus, je nach der Version des verwendeten Anwendungsservers. Das folgende Beispiel zeigt den Editor für WebSphere Application Server Version 8.
    Der Webimplementierungsdeskriptor, der den Ressourcenverweis anzeigt

Wenn Sie Tomcat verwenden, hat Ihr Projekt kein EAR-Projekt, sodass 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