Zum Inhalt

Element <database>

Zweck: Deklariert einen benannten relationalen Datenbank-Client für Lese-, Schreib- und SQL-Operationen.

Warum: Verwende dieses Element, damit relationale Reads, Writes, Selektoren und SQL-Ausführungen dieselbe Client-ID nutzen.

Beispiel

1
<database id="customer-db"/>

Entscheidungshilfe

Fachlicher Nutzen: Bündelt relationale Konnektivität für Selektoren, SQL-Setup, Inserts und Datenbankoperationen.

  • Verwenden, wenn

    • Wenn ein Descriptor aus einer relationalen Datenbank liest oder in sie schreibt.
  • Anderen Ansatz wählen, wenn

    • Wenn die Quelle eine MongoDB-Collection, Datei, ein Object Store oder Message Broker ist.
  • Voraussetzungen

    • Wähle das DBMS und liefere die erforderlichen Verbindungswerte über die Projektkonfiguration.
  • Alternativen

    • Verwende mongodb für dokumentorientierte Collection-Daten. (Siehe: <mongodb>)

Vollständige Beispiele

Eine deterministische relationale Quelle vorbereiten und lesen

Verwende einen benannten Datenbank-Client, wenn SQL-Vorbereitung, Quellselektion und spätere Ziele denselben Verbindungsvertrag nutzen müssen.

sqlite-assembly/datamimic.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<setup numProcess="1">
    <database id="source_db" dbms="sqlite" database="docs.sqlite"/>
    <execute script="'DROP TABLE IF EXISTS customers'" type="sql" target="source_db"/>
    <execute script="'CREATE TABLE customers (id INTEGER, name TEXT)'" type="sql" target="source_db"/>
    <execute script='"INSERT INTO customers VALUES (1, char(65,100,97)), (2, char(71,114,97,99,101))"'
             type="sql"
             target="source_db"/>
    <generate name="selected_customers"
              source="source_db"
              selector="SELECT id, name FROM customers ORDER BY id"
              distribution="ordered"
              target="LogExporter"/>
</setup>

Regeln und ungültige Kombinationen

Ein relationaler Client erfordert einen Datenbank-Locator.

Attribute: dbms, database

Warum: DBMS und Netzwerkendpunkt identifizieren noch nicht die zu öffnende Datenbank, den Service oder Katalog.

Gültige Kombination
1
<database id="customerDb"/>
Ungültige Kombination
1
<database id="customerDb" dbms="postgresql"/>

Erlaubte Elternelemente / Erlaubte Kindelemente

Erlaubte Elternelemente: else, else-if, if, setup, while

Erlaubte Kindelemente:

Keine

Erweiterungsattribute: Die deklarierten Attribute sind vollständig. Dieses Element akzeptiert zusätzlich laufzeitdefinierte Herstellererweiterungen, für die es bewusst keine statische Completion gibt.

Attribute

Alle 10 Attribute anzeigen

database

Database name (schema/catalog/service) used to connect.

optional; string; Standardwert: null.

dbms

DBMS type (e.g., postgresql, mysql).

optional; string; Werte: sqlite, postgresql, postgres, mysql, mssql, sqlserver, oracle.

environment

Optional environment label for this database.

optional; string; Standardwert: null.

host

Hostname or IP of the database server.

optional; string; Standardwert: null.

id

Database ID for accessing the database in the script context.

erforderlich; string.

password

Password for the database connection.

optional; string; Standardwert: null.

port

Port number of the database server.

optional; string; Standardwert: null.

schema

Default schema when connecting (optional).

optional; string; Standardwert: null.

system

Optional platform system identifier used to resolve environment properties.

optional; string; Standardwert: null.

user

Username for the database connection.

optional; string; Standardwert: null.