X4 Help Center
7.5 7.4 German English
Auto Light Dark
Auto Light Dark
7.5 7.4 German English

Datenbank einrichten

Wenn Sie für die X4 BPMS eine externe Datenbank verwenden möchten, müssen zusätzliche Konfigurationsschritte durchgeführt werden. Die X4 BPMS unterstützt die folgenden Datenbanksysteme:

  • Oracle Database

  • PostgreSQL

  • Microsoft SQL Server (MSSQL)

1. Voraussetzungen & Vorbereitung

Bevor Sie mit der Konfiguration der Datasources beginnen, müssen die folgenden Schritte zwingend durchgeführt werden:

  1. Leere Datenbank erstellen: Legen Sie vorab eine leere Datenbank mit dem Namen X4 auf Ihrem Datenbanksystem an.

  2. Migrations- und Installationswerkzeug ausführen: Das X4-Migrations- bzw. Installationswerkzeug muss zwingend ausgeführt werden – auch dann, wenn keine Migration einer bestehenden X4 BPMS-Installation beabsichtigt ist.

Detaillierte Informationen hierzu finden Sie im X4 BPMS Update-Handbuch.

2. Datasources in der standalone.xml konfigurieren

Die Einbindung der externen Datenbank erfolgt über die Konfiguration der Datasources in der zentralen Konfigurationsdatei des WildFly-Application-Servers.

Dateipfad: X4\Server\wildfly\standalone\configuration\standalone.xml

Öffnen Sie die Datei und ersetzen oder ergänzen Sie die entsprechenden <datasource>- und <driver>-Blöcke innerhalb des <datasources>-Subsystems gemäß Ihrem Datenbanksystem.


Option A: PostgreSQL Konfiguration

XML
<!-- PostgreSQL -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-java-context="true">
    <connection-url>jdbc:postgresql://localhost:5432/X4</connection-url>
    <driver>postgresql</driver>
    <new-connection-sql>SET search_path TO X4SERVER;</new-connection-sql>
    <pool>
        <max-pool-size>20</max-pool-size>
    </pool>
    <security user-name="x4" password="x4"/>
    <statement>
        <prepared-statement-cache-size>20</prepared-statement-cache-size>
        <share-prepared-statements>true</share-prepared-statements>
    </statement>
    <!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	<validation>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
    </validation>
    <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
    </timeout>
</datasource>
<datasource jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-java-context="true">
    <connection-url>jdbc:postgresql://localhost:5432/X4</connection-url>
    <driver>postgresql</driver>
    <new-connection-sql>SET search_path TO X4SERVER;</new-connection-sql>
    <pool>
        <max-pool-size>20</max-pool-size>
    </pool>
    <security user-name="x4" password="x4"/>
    <statement>
        <prepared-statement-cache-size>20</prepared-statement-cache-size>
        <share-prepared-statements>true</share-prepared-statements>
    </statement>
    <!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	<validation>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
    </validation>
    <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
    </timeout>
</datasource>


<drivers>
    ...
    <driver name="postgresql" module="org.postgresql">
        <driver-class>org.postgresql.Driver</driver-class>
    </driver>
    ...
</drivers>

Option B: Microsoft SQL Server (MSSQL) Konfiguration

Hinweis:

Bitte beachten Sie beim Konfigurieren einer MSSQL-Datenbank in einer lokalen Entwicklungsumgebung Folgendes:
Vergewissern Sie sich, dass Sie in der JDBC-URL encrypt=false verwenden. Andernfalls ist ein Start des Servers und/oder eine Migration der Datenbank aufgrund eines TLS-Fehlers nicht möglich.

XML
<!-- MSSQL -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-ccm="true">
    <connection-url>jdbc:sqlserver://localhost:1433;databaseName=X4;encrypt=false</connection-url>
    <driver>sqlserver</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>5</min-pool-size>
        <max-pool-size>20</max-pool-size>
    </pool>
    <security user-name="x4" password="x4"/>
	<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	<validation>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
    </validation>
    <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
    </timeout>
</datasource>
<datasource jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-ccm="true">
    <connection-url>jdbc:sqlserver://localhost:1433;databaseName=X4;encrypt=false</connection-url>
    <driver>sqlserver</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>5</min-pool-size>
        <max-pool-size>20</max-pool-size>
    </pool>
    <security user-name="x4" password="x4"/>
	<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	<validation>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
    </validation>
    <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
    </timeout>
</datasource>

<drivers>
    ...
    <driver name="sqlserver" module="com.microsoft.sqlserver">
        <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    </driver>
    ...
</drivers>

Option C: Oracle Database Konfiguration

XML
<!-- ORACLE -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-java-context="true">
      <connection-url>jdbc:oracle:thin:@localhost:1521/pluggable-database</connection-url><!-- Hier den entsprechenden Host, Port, SID oder Service-Namen entragen -->
      <driver>oracle</driver><!-- Hier den Treiber-Namen eintragen -->
      <security user-name="X4SERVER" password="X4"/>
      <statement>
        <prepared-statement-cache-size>32</prepared-statement-cache-size>
      </statement>
	  <!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	  <validation>
        <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
      </validation>
      <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
      </timeout>	
    </datasource>
    <datasource jta="true" jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-java-context="true">    
      <connection-url>jdbc:oracle:thin:@localhost:1521/pluggable-database</connection-url><!-- Hier den entsprechenden Host, Port, SID oder Service-Namen entragen -->
      <driver>oracle</driver><!-- Hier den Treiber-Namen eintragen -->
      <security user-name="X4SERVER" password="X4"/>
      <statement>
        <prepared-statement-cache-size>32</prepared-statement-cache-size>
      </statement>
      <!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->	  
	  <validation>
        <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
        <validate-on-match>false</validate-on-match>
        <background-validation>true</background-validation>
        <background-validation-millis>1000</background-validation-millis>
      </validation>
      <timeout>
        <allocation-retry>60</allocation-retry>
        <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
      </timeout>	
</datasource>


<drivers>
    ...
    <driver name="oracle" module="com.oracle.ojdbc"><!-- Hier den Modul-Namen eintragen -->
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    </driver>
    ...
</drivers>