Einführung / Konfiguration des FirstSpirit-Servers / Datenbankanbindung / Einschränkungen zu Datenbanksystemen

Hinweise und Einschränkungen zu den einzelnen Datenbanksystemen

Inhaltsverzeichnis

Dieser Abschnitt enthält Hinweise und Einschränkungen zum Einsatz der verschiedenen Datenbanksysteme, z. B. zur Verwendung von speziellen Treiber-Versionen, zur Konfiguration, der Unicode-Unterstützung, Einschränkungen hinsichtlich von Funktionen usw. Weitere Hinweise zu den einzelnen Datenbanksystemen finden sich auch im jeweiligen Untermenü zu Beispiele für die Anbindung verschiedener Datenbanksysteme.

Allgemein

Es wird empfohlen, die jeweils zur eingesetzten Datenbankversion passende JDBC-Treiber-Version zu verwenden (siehe dazu auch Erstellen eines JDBC-Treiber-Moduls), soweit nicht anders angegeben.

Einschränkungen

Bei einigen Datenbanken existieren Einschränkungen hinsichtlich der maximalen Länge von Bezeichnungen (speziell Spaltennamen) bzw. der Datenbank-Zeilenlänge. Bei der Erstellung von Content-Datenstrukturen sollten daher folgende Punkte beachtet werden:

  1. Alle Texteingabefelder (o.ä.) sollen nur so groß wie unbedingt notwendig erzeugt werden.
  2. Alle Spaltennamen sollten möglichst kurz gewählt werden
  3. Sprachabhängige Eingabefelder sollten nur dann verwendet werden, wenn dies auch wirklich benötigt wird.
  4. Nicht jede Datenbank ist in der Lage, Unicode-Zeichen im UTF-8 Format zu speichern. Wenn Sie vorhaben, multilinguale Projekte mit Unicode-Zeichen zu erstellen, so achten Sie darauf, eine unicodefähige und entsprechend konfigurierte Datenbank zu benutzen.
  5. Für den reibungslosen Betrieb von FirstSpirit mit einer Datenbank sollte das Encoding / Character-Set des FirstSpirit-Servers und der Datenbank zueinander passen (also z. B. indem beide UTF-8 oder beide Latin-1 verwenden). Das gilt insbesondere bei Verwendung von nativen Datenbanktypen (Varchar, Date, etc.). Die Konfiguration ist abhängig von der verwendeten Datenbank (Beispiel für die Konfiguration über den JDBC-Treiber ).
  6. Die Spaltenanzahl sollte möglichst gering gehalten werden.
  7. Verweise auf Einträge aus externen Datenbanken

Hinweis zur Referenzgraph-Unterstützung für Datenbankinhalte: Der Referenzgraph eines Projektes ist ein integraler Bestandteil vieler FirstSpirit-Funktionen (z. B. „Verwendungen anzeigen“). Bei Anbindung externer Datenbanken gilt hier: Verweise auf Einträge aus externen Datenbanken können nur bei numerischen Primärschlüsseln in den Referenzgraph des Projekts übernommen werden.

MySQL

Unicode: Unicode-Unterstützung ab MySQL-Version 5.

Weitere Einschränkungen für MySQL-Datenbanken (ab Version V 4.x):

Große Tabellen können nicht gespeichert werden (http://bugs.mysql.com/bug.php?id=30295).

The maximum row length, except for VARBINARY, VARCHAR, BLOB and TEXT columns, is slightly less than half of a database page. That is, the maximum row length is about 8000 bytes... InnoDB stores the first 768 bytes of a VARBINARY, VARCHAR, BLOB, or TEXT column in the row, and the rest into separate pages.

Das bedeutet: Eine Tabelle mit 11 Spalten vom Typ TEXT oder VARCHAR (>730) ist für MySQL bereits zu gross. Diese Einschränkung trifft auf die folgenden Beispiele zu:

  • 4 Sprachen mit 2 DOM-Eingabekomponenten und einer sprachabhängigen Stringspalte (länger als ca. 230 Zeichen) oder
  • 2 Sprachen je 5 DOM-Eingabekomponenten plus 1 sprachunabhängige Stringspalte (länger als 320 Zeichen) oder
  • 1 Sprache mit 11 Stringspalten (je länger als 730 Zeichen)

Oracle

Wichtig Das Speichern von Datenbank-Schemata und Änderungen an diesen können bei der Verwendung von Oracle-Datenbanken einige Zeit in Anspruch nehmen.

Unicode: Bei der Installation einer Oracle-Datenbank sollte die UNICODE-Unterstützung aktiviert werden, um alle internationalen Zeichen darstellen zu können. Beim Anlegen der Oracle-Instanz müssen dazu beim Create-Database-Statement die folgenden Parameter gesetzt werden:

NLS_CHARACTERSET: AL32UTF8
NLS_NCHAR_CHARACTERSET: AL16UTF16

In der Layer-Konfiguration sollte (beim Oracle19cLayer) der CHARACTERSET-Schalter zur Datenbank-Einstellung passen.

Um zu überprüfen, ob die aktuelle Konfiguration der FirstSpirit-Empfehlung entspricht, kann folgender SQL-Aufruf genutzt werden:

SELECT PROPERTY_NAME,
PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'NLS_CHARACTERSET'
OR PROPERTY_NAME = 'NLS_NCHAR_CHARACTERSET'
ORDER BY PROPERTY_NAME;

Wenn die Konfiguration unserer Empfehlung entspricht, so lautet die Ausgabe:

PROPERTY_NAME           PROPERTY_VALUE
---------------------- --------------
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16

Treiber: Für Oracle (ab Version 19c, mit Oracle19cLayer) sollte die JDBC-Treiberversion der Serie 19.6 verwendet werden. Oracle empfiehlt die Verwendung der Treibervariante „ojdbc8.jar“ beim Einsatz von Java 11.

Treiber: Für Oracle (vor 19c) sollte der JDBC-Treiber der Serie 10.1 (ojdbc14_10.1.0.x.jar) verwendet werden, da bei der Version 10.2 Probleme bei Verwendung des Datentyps LONG ab einer Länge von 4.000 Zeichen bei UTF-8-Kodierung vorkommen können. Alternativ muss bei Verwendung des 10.2-Treibers der Kompatibilitätsmodus für Oracle 9 LONG aktiviert werden, da LONG seit Oracle 9 deprecated ist. Dazu muss der Parameter

jdbc.property.oracle.jdbc.RetainV9LongBindBehavior=true

in der Datenbankkonfiguration ergänzt werden.

IBM DB2

Unicode: Bei der Erstellung einer DB2-Datenbank sollte die UNICODE Unterstützung aktiviert werden.

Löschen von Spalten: Bei der Verwendung von DB2 ist es nicht möglich, über den JDBC-Treiber Spalten zu löschen. Die Spalten können zwar im Datenbankschema des FirstSpirit-SiteArchitects entfernt werden, bleiben aber in der Datenbank erhalten.

Sonstige Anmerkungen: Die Größe des Heaps von DB2 ist standardmäßig zu klein konfiguriert (128 x 4KB) und sollte mindestens auf eine Größe von 1024x4kB konfiguriert werden. Empfohlen wird die Ausführung des folgenden Statements auf der DB2-Konsole:

db2 update db cfg for myDB using applheapsz 1024

PostgreSQL

Bei einem Upgrade von PostgreSQL von Version 8 auf 9 kann es zu Problemen bei der Verwendung mit FirstSpirit kommen. Dabei kann es sein, dass die Version der Datenbank nicht (mehr) zur Version des mit FirstSpirit verwendeten JDBC-Treibers passt. Daher sollte bei Problemen der JDBC-Treiber auf eine Version upgedatet werden, die zur Version der Datenbank passt.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz