Oracle
Data source: External OracleEnterprise Edition+Einführung
Oracle kann als externe Datenbank an NocoBase angebunden werden. Nach der Anbindung liest NocoBase die Tabellen, Felder und Ansichten aus Oracle ein und verwendet sie als Datentabellen in der externen Datenquelle.
Im Unterschied zur Hauptdatenbank wird die tatsächliche Tabellenstruktur der externen Oracle-Datenbank weiterhin vom ursprünglichen Geschäftssystem, Datenbank-Client oder Migrationsskript verwaltet. NocoBase ist für das Einlesen der Struktur, das Speichern von Feldmetadaten sowie die Konfiguration von Seitenblöcken, Berechtigungen, Workflows und APIs zuständig.
Geeignete Einsatzszenarien für eine externe Oracle-Datenbank:
- Anbindung der Oracle-Datenbank bestehender Geschäftssysteme wie ERP, MES, WMS oder CRM
- Aufbau einer Verwaltungsoberfläche mit NocoBase, ohne historische Daten zu migrieren
- Steuerung von Berechtigungen, Verarbeitung von Workflows, Korrektur von Daten oder Anzeige von Berichten für bestehende Tabellen
- Weitere Verwaltung der Datenbankstruktur durch DBAs, Migrationsskripte oder das ursprüngliche System
Eine externe Oracle-Datenbank ist nicht die Systemdatenbank von NocoBase. NocoBase übernimmt weder ihre Sicherung und Wiederherstellung noch ihre Migration oder Änderungen an der Tabellenstruktur.
Plugin-Installation
Dieses Plugin ist ein kommerzielles Plugin. Ausführliche Informationen zur Aktivierung finden Sie unter: Leitfaden zur Aktivierung kommerzieller Plugins
Wenn als Verbindungsmodus Thick ausgewählt wird, müssen die Oracle Client libraries in der NocoBase-Laufzeitumgebung installiert und das „Client directory“ in der Datenquellenkonfiguration angegeben werden.
Installation des Oracle-Clients
Für Oracle Database 12.1 und höher wird normalerweise der Thin-Modus verwendet, sodass keine zusätzliche Installation des Oracle-Clients erforderlich ist. Nur wenn Sie eine Oracle Database-Version vor 12.1 anbinden oder den Thick-Modus verwenden müssen, müssen die Oracle Client libraries in der NocoBase-Laufzeitumgebung installiert werden.
Nachdem Sie in der Datenquellenkonfiguration den Modus „Thick“ ausgewählt haben, müssen Sie sicherstellen, dass der Rechner, auf dem der NocoBase-Dienst ausgeführt wird, den Oracle-Client laden kann.

In einer Linux-Umgebung können Sie den Oracle Instant Client beispielsweise wie folgt installieren:
Wenn der Oracle-Client nicht an einem vom System standardmäßig ladbaren Speicherort installiert ist, müssen Sie im Feld „Client directory“ das Verzeichnis der Client-Bibliotheken angeben. Bei der oben beschriebenen Installationsmethode lautet das entsprechende Verzeichnis /opt/instantclient_19_25.

Client directory muss nur im Thick-Modus konfiguriert werden. Im Thin-Modus wird diese Einstellung nicht verwendet. Weitere Informationen zu den Initialisierungsregeln finden Sie in der Initialisierungsdokumentation von node-oracledb.
Datenquelle hinzufügen
Klicken Sie unter „Datenquellenverwaltung“ auf „Add new“, wählen Sie Oracle aus und geben Sie anschließend die Verbindungsinformationen ein.

Häufig verwendete Verbindungseinstellungen:
Der Umfang der Oracle-Anbindung wird hauptsächlich durch den Owner des Verbindungskontos, Table prefix und „Collections“ bestimmt. Wenn sich in derselben Instanz sehr viele Objekte befinden, empfiehlt es sich, ein dediziertes Konto für das benötigte Schema zu verwenden, damit keine irrelevanten Objekte in NocoBase aufgenommen werden.
Datentabellen auswählen
Nachdem Sie die Verbindungsinformationen eingegeben haben, können Sie auf „Load Collections“ klicken, um die in Oracle verfügbaren Datentabellen und Ansichten einzulesen. Das Ergebnis wird durch den Owner des Verbindungskontos, Table prefix und die Konfiguration von „Collections“ beeinflusst.
Standardmäßig ist „Add all collections“ aktiviert. Dadurch werden alle Tabellen und Ansichten innerhalb des aktuellen Bereichs angebunden. Wenn Sie nur bestimmte Objekte anbinden möchten, deaktivieren Sie „Add all collections“ und wählen anschließend die gewünschten Datentabellen oder Ansichten in der Liste aus.

Pro externer Datenquelle können höchstens 500 Datentabellen oder Ansichten gleichzeitig angebunden werden. Wenn Oracle sehr viele Objekte enthält, empfiehlt es sich, den Bereich zunächst über den Owner des Verbindungskontos, Table prefix oder „Collections“ einzuschränken.
Synchronisieren und Konfigurieren von Feldern
Die Tabellenstruktur der externen Oracle-Datenbank wird auf Datenbankseite verwaltet. NocoBase erstellt in der externen Oracle-Datenbank keine Felder, ändert keine Feldtypen und löscht keine tatsächlichen Felder.
Wenn sich die Tabellenstruktur auf Oracle-Seite ändert, können Sie in der Datenquelle „Sync from database“ ausführen, um die Tabellen- und Feldmetadaten erneut einzulesen. Dabei werden die in NocoBase gespeicherten Daten zu Datentabellen, Feldern, Primärschlüsseln, eindeutigen Schlüsseln und Feldtypzuordnungen aktualisiert. Tatsächliche Tabellen oder Daten in Oracle werden jedoch nicht gelöscht.
Nach der Feldsynchronisierung können Sie in NocoBase die Feldbezeichnung, den Feldtyp (Field type) und die Feldkomponente (Field interface) konfigurieren. Wenn Sie in NocoBase ein Beziehungsfeld erstellen müssen, werden die Beziehungsmetadaten ebenfalls nur in NocoBase gespeichert; in der Oracle-Tabelle wird nicht automatisch ein tatsächliches Fremdschlüsselfeld hinzugefügt.
Feldtypzuordnung
NocoBase ordnet Oracle-Feldtypen automatisch einem geeigneten Field type und Field interface zu. Sie können die Darstellungsweise in der Feldkonfiguration anpassen.
Häufige Zuordnungen:
BLOB、BFILE und andere binäre Objekttypen werden nicht automatisch als normale Dateifelder verwendet. Wenn Sie Anhänge in Seiten verwalten möchten, empfiehlt es sich in der Regel, in NocoBase eine Dateitabelle oder ein Anhangsfeld zum Speichern der Dateimetadaten zu verwenden.
Primärschlüssel und eindeutiger Datensatzschlüssel
Für Datentabellen, die zur Anzeige und Bearbeitung in Seitenblöcken verwendet werden, wird ein Primärschlüssel oder ein eindeutiges Feld empfohlen. NocoBase verwendet den Primärschlüssel bevorzugt als eindeutigen Datensatzschlüssel.
Wenn Sie eine Ansicht, eine Tabelle ohne Primärschlüssel oder eine Tabelle mit zusammengesetztem Primärschlüssel anbinden, müssen Sie in der Datenbankkonfiguration manuell „Record unique key“ festlegen. Wenn kein eindeutiger Bezeichner verfügbar ist, können Seitenblöcke Datensätze möglicherweise nicht korrekt anzeigen, bearbeiten oder löschen.

Verwandte Links
- Externe Datenbanken — Allgemeine Konfigurations- und Verwaltungshinweise zu externen Datenbanken
- Datenquellenverwaltung — Informationen zum Einstieg in die Datenquellenverwaltung und zur Verwaltung von Datenquellen
- Datentabellenfelder — Informationen zu Feldtypen und Feldzuordnungen
- Initialisierungsdokumentation von node-oracledb — Informationen zum Laden der Oracle Client libraries

