Hinweise zu Datenbanken

Dieses Kapitel beschreibt die Einrichtung einer leeren Datenbank für Allegra für die offiziell unterstützten Datenbanksysteme.

Unterstützte Datenbanksysteme

Allegra wurde mit den folgenden Datenbanksystemen getestet:

  • MySQL: 5.7.14

  • MySQL: 8.0.16

  • MariaDB: 10.3.13

  • Firebird: 2.5.9

  • PostgreSQL: 11

  • Microsoft SQL server: 14.0.1000.169

  • Oracle: 12c Standard Edition Release 12.2.0.1.0 - 64bit

  • DB2 v11.1.3.3

Hinweis

Allegra wird mit JDBC-Treibern für MySQL 5 und 8, Firebird, Postgres und MS SQL-Server ausgeliefert. Wenn Sie mit anderen Datenbanksystemen arbeiten wollen, sollten Sie den entsprechenden JDBC-Treiber im Verzeichnis $TOMCAT_HOME/lib platzieren.

MySQL und MariaDB

Erstellen Sie mit dem Kommandozeilen-Client mysql eine Datenbank. Verwenden Sie InnoDB als Datenbank-Engine und konfigurieren Sie utf8mb4` als Standardkodierung.

$ mysql -uroot -p
mysql> create database allegra default character set utf8mb4;
mysql> create user allegra@localhost identified by 'tissi';
mysql> grant all privileges on allegra.* to allegra@localhost;
mysql> flush privileges;

The database should now be up and running.

Wenn Sie die eingebaute Backup-Funktion von Allegra nutzen wollen, müssen Sie Ihre MySQL-Instanz so konfigurieren, dass keine Backslash-Escapezeichen verwendet werden. In der Datei my.ini (unter Windows) oder my.cnf (unter Unix) fügen Sie den folgenden Eintrag hinzu:

sql-mode=''NO_BACKSLASH_ESCAPES''

Wenn bereits ein Moduseintrag vorhanden ist, fügen Sie den genannten Modus durch ein Komma getrennt zu den schon vorhandenen Modi hinzu.

Firebird

Die Software kann über http://www.firebirdsql.org/en/downloads bezogen werden. Wählen Sie die gewünschte Server-Binärdatei für Ihr Betriebssystem (Super-Server-Architektur). Die untenstehenden Anweisungen für Unix gehen davon aus, dass Sie das Linux rpm verwenden.

Sie können einige hilfreiche Werkzeuge unter http://www.ibphoenix.com finden. Ein nettes Werkzeug zur Verwaltung der Datenbank finden Sie unter http://www.flamerobin.org.

Prüfen Sie, ob der Datenbankserver bereit ist:

netstat -an | grep 3050

sollte zu einer Zeile führen, in der LISTEN enthalten ist.

Ändern Sie das Standard-SYSDBA-Passwort von MASTERKEY in Ihr eigenes. Vergessen Sie dieses Passwort nicht!

/opt/interbase/bin/gsec -modify sysdba -user sysdba
-password MASTERKEY -pw <new_SYSDBA_password>

Fügen Sie einen neuen Benutzer mit dem Namen trackp und einem Passwort hinzu:

/opt/interbase/bin/gsec -add trackp -user sysdba
-password <new_SYSDBA_password>
-pw <trackplus_admin_password>

The database is created from scratch using the isql command line utility (don’t type the isql prompts) from where you extracted your Allegra database package:

/opt/interbase/bin/isql -u trackp -p tissi
isql> create database "/opt/interbase/db/allegra.gdb";
isql> quit;

Stellen Sie sicher, dass der Eigentümer und die Berechtigungen richtig eingestellt sind:

chown -R firebird /opt/interbase/db
chmod 700 /opt/interbase/db

Um über FlameRobin auf die Datenbank zugreifen zu können, müssen Sie diese in diesem Tool registrieren. Der Dateipfad, der eingegeben werden muss, ist vom Server aus gesehen (z.B. /opt/interbase/db/allegra.gdb). Der Alias hat keine Bedeutung.

MS SQL Server

Allegra arbeitet gut mit MS SQL Server Version 2000 , 2005 und 2008 zusammen. Allegra verwendet den jTDS JDBC-Treiber zur Verbindung mit dem Datenbankserver. Die korrekte Einstellung des Zeichensatzes und der Sortierung sind zu beachten, so dass Nicht-ANSI-Zeichen ordnungsgemäß gespeichert und abgerufen werden. Diese Einstellung sollte bei der Erstellung der Datenbank explizit gesetzt werden.

Es wird nicht empfohlen, die Standardeinstellungen des Datenbankservers zu verwenden. Erstellen Sie die Datenbank mit dem Enterprise Manager. Vergewissern Sie sich, dass Sie den richtigen Sortiersatz verwenden, wenn Sie die Datenbank aufsetzen. Es ist hilfreich, einen neuen Benutzer hinzuzufügen, der als Eigentümer der Datenbank verwendet wird.

Die Datenbank sollte nun einsatzbereit sein. Der MS SQL Server JDBC-Treiber muss in der Datei $TRACKPLUS_HOME/Torque.properties aktiviert werden. Dabei müssen Sie den richtigen Zeichensatz wählen.

Beispielkonfiguration für eine deutsche MS SQL Server-Standardinstallation:

# 4) Microsoft SQL Server
torque.database.track.adapter=mssql
torque.dsfactory.track.connection.driver = net.sourceforge.jtds.jdbc.Driver
torque.dsfactory.track.connection.url = jdbc:jtds:sqlserver://localhost/allegra;charset=CP1252

Beispielkonfiguration für eine Standard-UTF-8 MS SQL Server-Installation mit Instanz wie Sqlserver\\\INSTANCEX:

# 4) Microsoft SQL Server
torque.database.track.adapter=mssql
torque.dsfactory.track.connection.driver = net.sourceforge.jtds.jdbc.Driver
torque.dsfactory.track.connection.url =
        jdbc:jtds:sqlserver://sqlserver/track;charset=UTF8;instance=INSTANCEX

Oracle

Allegra wurde für den Betrieb mit Oracle 12-Datenbanken getestet. Dieses Dokument behandelt nicht, wie man eine Datenbank in Oracle einrichtet. Ihr Datenbankadministrator muss Ihnen für die Allegra-Datenbank in Ihrem Schema alle Privilegien zum Erstellen und Ändern von Objekten gewähren.

Sie müssen einen geeigneten JDBC-Treiber für Ihren Oracle-Server von der offiziellen Oracle-Download-Site beziehen und unter $TOMCAT_HOME/lib installieren.

Die standardmäßige maximale CLOB-Größe beträgt 4000 Zeichen. Wenn Sie dies nicht ändern, werden Ihre Langtextfelder in Allegra auf diese Größe beschränkt sein.

IBM DB2

Allegra unterstützt IBMs DB2-Datenbank Version 11. Hier sind einige Hinweise zur Vorgehensweise.

Installieren Sie DB2 und erstellen Sie eine neue Datenbank (z.B. mit dem Namen ALLEGRA). Der Name des Schemas sollte derselbe sein wie den Datenbankbenutzernamen, den Sie später für die Verbindung der Allegra-Software mit der Datenbank nutzen. Sie sollten genügend Tabellenbereiche haben. Die Voreinstellung ist 4k, was Sie auf 32K erhöhen sollten. Wenn der Tablespace nicht ausreichend ist, werden die Skripte nicht ausgeführt.

Sie müssen einen geeigneten JDBC-Treiber für Ihren DB2-Server von der offiziellen IBM Download-Site beziehen und unter $TOMCAT_HOME/lib installieren.

Ändern Sie die $TRACKPLUS_HOME/Torque.properties, um sie auf db2 abzubilden. Kommentieren Sie alle anderen ähnlichen Einträge aus und aktivieren Sie die folgenden Einträge:

torque.dsfactory.track.connection.user=yourDB2Username
torque.dsfactory.track.connection.password=yourDB2Password

#DB2
torque.database.track.adapter=db2app
torque.dsfactory.track.connection.driver=
    COM.ibm.db2.jdbc.app.DB2Driver
torque.dsfactory.track.connection.url=jdbc:db2:TRACK

PostgreSQL

Allegra unterstützt PostgreSQL-Datenbanken. Hier sind einige Hinweise, um eine Allegra-Datenbank auf einem PostgreSQL-Server zu betreiben.

$createuser --username=postgres --password -d -P -A
--sysid=501 trackp
>Enter password for new user: <trackplus_admin_password>
>Enter it again: <trackplus_admin_password>
>Password: <postgres user password>
>CREATE USER
$createdb --owner=trackp --username=trackp
--password track "Allegra Database"
>Password:  <trackplus_admin_password>
>CREATE DATABASE
>Password:  <trackplus_admin_password>
...

Konfiguration der Datenbankverbindung

Sie müssen die von Ihnen erstellte Datenbank mit der Allegra-Anwendung verbinden. Dies geschieht über Einträge in der Datei $TRACKPLUS_HOME/Torque.properties.

Diese Datenbankverbindungsdatei wird an den folgenden Stellen in dieser Reihenfolge gesucht:

  1. In Datei webapps/Torque.properties.<context name> im webapps Verzeichnis des Containers. Beispiel: webapps/Torque.properties.allegra-demo. Dies erlaubt es, mehrere Allegra-Instanzen im selben Container laufen zu lassen.

  2. In Datei \$TRACKPLUS\_BOOT/Torque.properties, wobei $TRACKPLUS_BOOT eine Umgebungsvariable ist.

  3. In Datei $TRACKPLUS_BOOT/Torque.properties wobei $TRACKPLUS_BOOT eine Java Systemeigenschaft ist (JAVA_OPTS="-DTRACKPLUS\_BOOT=...").

  4. In Datei webapps/<context name>/WEB-INF/Torque.properties.

Das Folgende ist ein Auszug aus einer Torque.properties-Datei.

# !!! THIS USER WITH THIS PASSWORD HAS TO BE KNOWN BY YOUR
#      DATABASE SYSTEM !!!

torque.dsfactory.track.connection.user = trackp
torque.dsfactory.track.connection.password = tissi
# 1) Firebird on Windows systems
torque.database.track.adapter=firebird
torque.dsfactory.track.connection.driver = org.firebirdsql.jdbc.FBDriver
torque.dsfactory.track.connection.url =
    jdbc:firebirdsql://localhost/D:/Data/trackdata/allegra.gdb
# 2) Firebird on Unix
...

Der Benutzername und das Passwort müssen mit den jeweiligen Einträgen übereinstimmen, die Sie für die Datenbank eingerichtet haben. Der JDBC-Treiber und die Verbindungs-URL hängen von Ihrem Datenbanknamen und -typ ab. Es gibt für jeden unterstützten Datenbanktyp ein Beispiel in der Standard Torque.properties Datei.

Nach einer Änderung von Torque.properties müssen Sie Ihren Tomcat neu starten.