Hallo,
ich habe eine CSV-Datei, deren Inhalt ich um 2 Spalten aus einer Oracle-Datenbank ergänzen muss.
Mein Ansatz hier war, die Datei als externe Tabelle einzubinden und dann über ein Select die benötigten Daten zu selectieren und anschliessend das Ergebnis in eine neue csv schreiben.
Die Datei als Externe Tabelle einbinden funktioniert auch ... wenn ich es normal im Developer aufrufe. Über eine Prozedur funktioniert es nicht:
[highlight=sql]create or replace
PROCEDURE P21_FAB
(
v_JOBID IN VARCHAR2
) AS
BEGIN
execute immediate 'CREATE OR REPLACE DIRECTORY P21_FAB_FOLDER as ''\\path\to_share\''';
execute immediate
'CREATE TABLE P21_FAB ( ' ||
'IK varchar2(255), ' ||
'EntlStandort varchar2(255), ' ||
'Entgeldbereich varchar2(255), ' ||
'HKintKennz varchar2(255), ' ||
'FAB varchar2(255), ' ||
'FABaufnDat varchar2(255), ' ||
'FabentlDat varchar2(255) ' ||
') ' ||
'ORGANIZATION EXTERNAL ( ' ||
'TYPE oracle_loader ' ||
'DEFAULT DIRECTORY P21_FAB_FOLDER ' ||
'ACCESS PARAMETERS (fields terminated by '';'') ' ||
'LOCATION (''FAB.csv'') ' ||
') ' ||
'REJECT LIMIT UNLIMITED;';
END P21_FAB;[/highlight]
Ich bekomme den Fehler dass eine rechte Klammer fehlt.
Ich finde den Fehler aber nicht. kann mir hier jemand helfen?
Vielen Dank!
ich habe eine CSV-Datei, deren Inhalt ich um 2 Spalten aus einer Oracle-Datenbank ergänzen muss.
Mein Ansatz hier war, die Datei als externe Tabelle einzubinden und dann über ein Select die benötigten Daten zu selectieren und anschliessend das Ergebnis in eine neue csv schreiben.
Die Datei als Externe Tabelle einbinden funktioniert auch ... wenn ich es normal im Developer aufrufe. Über eine Prozedur funktioniert es nicht:
[highlight=sql]create or replace
PROCEDURE P21_FAB
(
v_JOBID IN VARCHAR2
) AS
BEGIN
execute immediate 'CREATE OR REPLACE DIRECTORY P21_FAB_FOLDER as ''\\path\to_share\''';
execute immediate
'CREATE TABLE P21_FAB ( ' ||
'IK varchar2(255), ' ||
'EntlStandort varchar2(255), ' ||
'Entgeldbereich varchar2(255), ' ||
'HKintKennz varchar2(255), ' ||
'FAB varchar2(255), ' ||
'FABaufnDat varchar2(255), ' ||
'FabentlDat varchar2(255) ' ||
') ' ||
'ORGANIZATION EXTERNAL ( ' ||
'TYPE oracle_loader ' ||
'DEFAULT DIRECTORY P21_FAB_FOLDER ' ||
'ACCESS PARAMETERS (fields terminated by '';'') ' ||
'LOCATION (''FAB.csv'') ' ||
') ' ||
'REJECT LIMIT UNLIMITED;';
END P21_FAB;[/highlight]
Ich bekomme den Fehler dass eine rechte Klammer fehlt.
Ich finde den Fehler aber nicht. kann mir hier jemand helfen?
Vielen Dank!
Comment