Skip To Content

Fehlerbehebung bei Datenbanken

Fehlerbehebung bei Datenbankproblemen

Im Folgenden werden Schritte für die Fehlerbehebung bei allgemeinen Datenbankproblemen aufgeführt. Spezifische Informationen zu Datenbanktabellen und den darin vorhandenen Spalten finden Sie im Abschnitt Geoportal-Datenbanktabellen. Wenn die mit den im folgenden aufgeführten allgemeinen Hinweisen Ihr Problem nicht behoben wird, lesen Sie die spezifischen Hinweise, um speziell Ihre Datenbanksystemsoftware zu überprüfen:

Fehlerbehebung bei allgemeinen Datenbankproblemen
  • Fehler: "PoolableConnectionFactory kann nicht erstellt werden…" oder "JDBC-Treiberklasse kann nicht geladen werden…": Folgendes ist zu überprüfen:
    1. Überprüfen Sie bei der Verwendung von Tomcat, ob die Einstellungen in der Datei geoportal.xml, die sich im Ordner \\TOMCAT\conf\Catalina\localhost befindet, korrekt sind. Überprüfen Sie nochmals, ob driverClassName, JDBC-URL, Benutzername und Kennwort richtig sind und keine zusätzlichen Leerzeichen, Zeichen oder fehlenden Anführungszeichen eingegeben wurden.
    2. Überprüfen Sie, ob der richtige JDBC-Treiber für Ihre Datenbank an die richtige Stelle in Ihrem Servlet-Container kopiert wurde. Sehen Sie bei Verwendung von Tomcat im Abschnitt 8 der Geoportal-Installationsanweisungen in der Tabelle für JDBC-Datenbank-Treiber nach, welche Treiber bei welcher Datenbank verwendet werden. Sie finden dort auch Anweisungen, wohin der Treiber kopiert wird. Installationsanweisungen für andere Servlet-Anwendungssoftware finden Sie im Ordner <Geoportal distribution directory>\Documentation\Installation.
    3. Überprüfen Sie den Port, den Ihre Datenbank verwendet. Wenn der Port sich vom in den JDBC-Verbindungsinformationen angegebenen Port unterscheidet (z. B. die Datei geoportal.xml für Tomcat) oder wenn Ihre Datenbank die Portnummer dynamisch zuweist, ändern Sie die Einstellung der dynamisch zugewiesenen Ports, sodass sie statisch sind, und bearbeiten Sie geoportal.xml, um den zugewiesenen Port dort widerzuspiegeln. Ein nützliches Tool für das Melden des Portstatus ist das Befehlszeilendienstprogramm PortQry.

SQL Server 2005 und 2008

  • Überprüfen Sie, ob TCP/IP als Protokoll aktiviert ist.

    1. Starten Sie SQL Server Configuration Manager über das Menü "Start" > Microsoft SQL Server 200x > Configuration Tools > SQL Server Configuration Manager.
    2. Aktivieren Sie das TCP/IP-Protokoll, indem Sie im Verzeichnis SQL Server Network Configuration und anschließend Protocols for MSSQLSERVER auswählen. Klicken Sie mit der rechten Maustaste auf TCP/IP, und wählen Sie Enable aus.

  • Überprüfen Sie, ob der richtige Port für TCP/IP zugewiesen ist.

    1. Führen Sie dieselben Schritte wie oben aus, um TCP/IP von SQL Server Configuration Manager auszuwählen.
    2. Klicken Sie mit der rechten Maustaste auf TCP/IP, und wählen Sie Eigenschaften aus.
    3. Klicken Sie auf die Registerkarte IP-Adressen. Blättern Sie durch die aufgelisteten IP-Adressen, und überprüfen Sie die Portnummerzuweisungen für den Hostcomputer der Datenbank sowie den TCP-Port. Dieser Port sollte in der Datei geoportal.xml für die JDBC-URL verwendet werden.
    4. Wenn der Port dynamisch zugewiesen wird, müssen Sie diese Einstellung in der Datenbanksoftware so ändern, dass keine dynamische Zuweisung stattfindet. Verwenden Sie den zugewiesenen Port anschließend für Ihre JDBC-Verbindungsinformationen.

  • Überprüfen Sie, ob bei Ihrem Server sowohl die Windows- als auch die SQL Server-Authentifizierung möglich ist. Wenn bei Ihrem Server nur die Windows-Authentifizierung zulässig ist, kann sich der Benutzer, der das Skript erstellt, nicht anmelden, um die Tabellen zu erstellen. Die Fehlermeldung in der Datei build_schema.log lautet: Fehler bei der Anmeldung für den Benutzer. Gehen Sie wie folgt vor, um den Sicherheitsauthentifizierungsmodus zu überprüfen und ggf. zu ändern (für Microsoft finden Sie Informationen unter http://msdn.microsoft.com/de-de/library/ms188670.aspx ):

    1. Melden Sie sich bei SQL Server Management Studio an.
    2. Klicken Sie im SQL Server Management Studio Object Explorer mit der rechten Maustaste auf den Server, und klicken Sie anschließend auf Eigenschaften.
    3. Wählen Sie auf der Seite Sicherheit unter Serverauthentifizierung für den SQL Server- und Windows-Authentifizierungsmodus radial aus, falls dies noch nicht ausgewählt ist, und klicken Sie anschließend auf OK.
    4. Klicken Sie im SQL Server Management Studio-Dialogfeld auf OK, um die Anforderung zu bestätigen, dass SQL Server neu gestartet werden muss.

  • Überprüfen Sie, dass SQL Server nicht auf einem komprimierten Laufwerk ausgeführt wird: Laut der Microsoft Developer Network-Support-Website ist es nicht mehr möglich, ab der SQL Server 2005-Version eine Datenbank mit Lese-/Schreibzugriff auf einem komprimierten Dateisystem zu erstellen. Wenn die Geoportal-Datenbank-Skripte in einer komprimierten Dateiumgebung ausgeführt werden, entstehen Fehler.

PostgreSQL

  • TCP/IP-Informationen wurden nicht deklariert: Überprüfen Sie, ob TCP/IP als ein Parameter in der Datei pg_hba.conf angegeben ist. Sie müssen am Ende der Datei einen neuen Parameter eingeben. Folgende Syntax wird verwendet:

    TYPDATENBANKBENUTZERCIDR-ADRESSEMETHODE

    Host

    alle

    alle

    <database server IP Address>/32

    trust

  • Listen_addresses wurden für Standard-'localhost' nicht geändert: Sie müssen in der Datei postgresql.conf den Abschnitt listen_addresses unter dem Abschnitt für die Verbindungseinstellungen ändern, um festzulegen, was IP-Adressen überwachen sollen.
    e.g. listen_addresses = "*" (* indicates all) 
    Wenn die Dateien pg_hba.conf und postgresql.conf geändert werden, müssen der postgres-Dienst und die Servlet-Engine (Tomcat, Glassfish oder Weblogic) neu gestartet werden. Weitere Informationen zu den Dateien pg_hba.conf oder postgresql.conf finden Sie im Abschnitt zur Client-Authentifizierung in der PostgreSQL-Dokumentation.