Zum Inhalt springen

Bitte um Hilfe. Oracle + PL/SQl + EXCEL


Empfohlene Beiträge

Geschrieben

:( Ich habe ein Exel tabelle mit mehere Spalten. Ich habe eine spalte die mir interressiert COF_CODE. Ich soll mit eine prozedur die alle einträge zugreifen und jedesmal ein query aul mein datenbank machen. Das ergebnis soll in einer datei gespeichert werden.

Eingabe datei:

COF_CODE VC_LEGAL_ID filter neg_dat score

121B0KXR3 3 0 562

121B0PVT3 6 0 572

121364748 3 0 558

121B0S2V9 3 0 552

121273093 6 0 561

121010454 6 0 552

121599707 3 0 561

121B0XQF4 3 0 569

121598981 3 0 560

select r.ABN_ORG_ZN_NR

from cok_risiken r

where r.coface_r_nr = '121B0KXR3'

Ausgabe soll so aussehen

COF_CODE ABN_ORG_ZN_NR

121B0KXR3 ...

121B0PVT3

121364748

121B0S2V9

121273093

121010454

121599707

121B0XQF4

121598981

Brauche echt hilfe. Ich habe nur grundkenntnisse in PL/SQL.

Danke.

Geschrieben

Also ich habe 0 Ahnung von PL/SQL, aber in 2 Minuten fand ich alle wichtigen Ansatzpunkte für dich:

Datei Lesen/Schreiben

SQL Teil

quick and dirty:

-starte prozedur

-mach datei auf

-solange zeilen vorhanden, lese zeile ein

- nehme wert der ersten spalte (hier ist der einsatz von CSV vielleicht sinnvoll)

- mach dein SQL zeug

- rückgabe in datei schreiben

- beende prozedur

Geschrieben
Brauche echt hilfe. Ich habe nur grundkenntnisse in PL/SQL.

lade die excel-datei im csv-format über 'EXTERNAL TABLE'. danach beide tabellen joinen und ergebnis mittels einer CURSOR LOOP und UTL_FILE in eine datei rausschreiben oder einfach per sqlplus in eine datei spoolen.

wenn keine externe tabelle verwendet werden soll, kann man mi UTL_FILE auch die eingabedatei lesen. das kann man alles mit grundkenntnissen und der oracle doku zu UTL_FILE schaffen.

-j

Geschrieben

Ja bin gerade dabei ein external Table zu bauen. Frage ist jetz wie packe ich das ganze in einer prozedur: external tables, select befehl und ausgabe.

Geschrieben

hallo,

Mein external table sieht so aus. infoline.csv ist mein csv datei. und dmco ist der user name für die Dantenbank.

CREATE OR REPLACE DIRECTORY dataload AS 'J:\Feuzet\Dataload\infoline.csv';

GRANT READ ON DIRECTORY dataload TO dmco;

GRANT WRITE ON DIRECTORY dataload TO dmco;

CREATE TABLE ext_table

( cofcode_1 VARCHAR2(9 BYTE),

cofcode_2 VARCHAR2(9 BYTE) )

ORGANIZATION EXTERNAL

( TYPE ORACLE_LOADER

DEFAULT DIRECTORY dataload

ACCESS PARAMETERS

( RECORDS DELIMITED BY NEWLINE

BADFILE dataload:'infoline.bad'

LOGFILE dataload:'infoline.log'

DISCARDFILE dataload:'infoline.dis'

SKIP 1

FIELDS TERMINATED BY ';'

MISSING FIELD VALUES ARE NULL

( cofcode_1,

cofcode_2)

)

LOCATION ('infoline.csv')

)

REJECT LIMIT UNLIMITED;

Problem: Es wird nich die entsprecheden datein gebuildet(infoline.log, .bad ...)

beim Select * from ext_table habe ich di fehler meldung:

ORA-29913: Fehler bei der Ausführung von Aufruf ODCIEXTTABLEOPEN

ORA-29400: Data Cartridge-Fehler

KUP-04063: unable to open log file infoline.log

OS error No such file or directory

ORA-06512: in "SYS.ORACLE_LOADER", Zeile 14

ORA-06512: in Zeile 1

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...