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: 8.0.29
MariaDB: 10.8.3
Firebird: 2.5.9
PostgreSQL: 11.16, 12.11, 13.7, 14.4
Microsoft SQL Server: 2014, 2017, 2019
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, MariaDB, Firebird,
Postgres und MS SQL-Server ausgeliefert. Wenn Sie mit anderen
Datenbanksystemen arbeiten wollen, müssen Sie einen 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;
Die Datenbank sollte nun zur Verfügung stehen.
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 $ALLEGRA_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 $ALLEGRA_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:ALLEGRA
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: <allegra_admin_password>
>Enter it again: <allegra_admin_password_admin_password>
>Password: <postgres user password>
>CREATE USER
$createdb --owner=trackp --username=trackp
--password track "Allegra Database"
>Password: <allegra_admin_password>
>CREATE DATABASE
>Password: <allegra_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 $ALLEGRA_HOME/Torque.properties
.
Diese Datenbankverbindungsdatei wird im Verzeichnis $ALLEGRA_HOME
gesucht,
das dem Tomcat Servlet Container beim Starten als Umgebungsvariable
mitgegeben werden muss (JAVA_OPTS="-DALLEGRA_HOME=..."
).
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.