Datenzugriff in Textdateien mit Oracle SQL

Nehmen wir an, Oracle soll auf die Daten in dieser durch Kommas getrennte Textdatei zugreifen.


7369,SMITH,CLERK,7902,17-DEC-80,800,20
7499,ALLEN,SALESMAN,7698,20-FEB-81,1600,300,30
7521,WARD,SALESMAN,7698,22-FEB-81,1250,500,30
7566,JONES,MANAGER,7839,02-APR-81,2975,,20
7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,1400,30
7698,BLAKE,MANAGER,7839,01-MAY-81,2850,,30
7782,CLARK,MANAGER,7839,09-JUN-81,2450,,10
7788,SCOTT,ANALYST,7566,19-APR-87,3000,,20
7839,KING,PRESIDENT,,17-NOV-81,5000,,10
7844,TURNER,SALESMAN,7698,08-SEP-81,1500,0,30
7876,ADAMS,CLERK,7788,23-MAY-87,1100,,20

Die Datei enthält folgende Informationen über Angestellte:

  • Nummer des Angestellten
  • Nachname
  • Position
  • Nummer des zuständigen Managers
  • Einstelldatum
  • Gehalt
  • Provision
  • Abteilung

Wie integrieren wir diese Datei in Oracle ? Zunächst muss für Oracle ein Verzeichniseintrag im „Data Dictionary“ erstellt werden, der das Windows-Verzeichnis enthält, in dem die Textdatei gespeichert ist. In diesem Beispiel werden wir das Verzeichnis testdir nennen, der Ort ist c:docspubsdbqueries:


SQL> create directory testdir as 'c:docspubsdbqueries';


Directory Created.

Nachdem wir das Verzeichnis erstellt haben, können wir in Oracle die Struktur der externen Datei festlegen. Diesen Code finden sie in Listing A.

Die Spalten der externen Tabelle werden in dieser Syntax ähnlich wie bei einer internen Oracle-Tabelle definiert. Die externen Definitionen finden sich, wie in Tabelle A beschrieben, im externen Organisationsabschnitt wieder.

Tabelle A
default directory testdir Verzeichnis der Datei
records delimited by newline Zeilenvorschubzeichen
fields terminated by ‚,‘ Zeichen für Zeilenumbruch
location (‚emp_ext.csv‘) Name der externen Datei

Externe Definitionen für die durch Komma getrennten Daten aus der Textdatei

Nachdem die externe Tabelle nun ausreichend beschrieben ist, können mit SQL Abfragen gestartet werden. Es macht keinen Unterschied, ob sich die Tabelle innerhalb oder ausserhalb der Datenbank befindet. Die in Listing B dargestellte Abfrage verwendet den durchdachten ROLLUP-Parameter, um die Gehälter sowohl nach Abteilung und Position zusammenzufassen. Die Ergebnisse finden sie in Listing C.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Das sind die besten Cybersicherheits-Anbieter Deutschlands

KI und Nachholbedarf des Mittelstands treiben die Nachfrage nach End-to-End-Services. SOC-Dienstleister profitieren besonders stark.

3 Tagen ago

Wearables etablieren sich als Trendmarkt

Bereits ein Drittel der Deutschen nutzt eine Smartwatch. 70 Prozent zeigen sich offen für weitere…

3 Tagen ago

Sicherheitslücke: Yubico-Sicherheitsschlüssel anfällig für Cloning

Der eigentliche Fehler steckt in einem Sicherheitschip von Infineon. Angreifbare YubiKeys von Yubico lassen sich…

3 Tagen ago

Google gibt Final von Android 15 für Entwickler frei

Der Quellcode steht dem Android Open Source Project zur Verfügung. Pixel-Smartphones und Geräte von Drittanbietern…

3 Tagen ago

Daten sicher auf optischen Speichermedien verschlüsseln

EncryptDisc Creator ermöglicht es auf einfache Weise, Daten sicher verschlüsselt auf handelsüblichen optischen Medien wie…

3 Tagen ago

Google schließt Zero-Day-Lücke in Android

Betroffen sind Android 12, 12L, 13 und 14. Ein Angreifer kann unter Umständen höhere Rechte…

4 Tagen ago