2016-06-03 3 views
-1

Gibt es eine Möglichkeit, die Orakel-Prozedur von Unix-.ctl-Datei auszuführen.Wie führt man das Orcece-Verfahren aus der Unix-.ctl-Datei aus

Ich habe versucht, die Prozedur von. SH-Datei aufrufen und ist erfolgreich.

Aber ich muss die Prozedur von .ctl-Datei aufrufen.

+0

Meinst du von SQL \ * Loader? Was versuchst du eigentlich zu erreichen? –

+0

Ich habe eine gespeicherte Prozedur in Oracle und ich möchte diese Prozedur von Unix mit .ctl-Datei ausführen. – Kumar

+0

gibt es sowieso, dass wir .CTL-Datei in Unix schreiben können, um die gespeicherte Prozedur aufzurufen. – Kumar

Antwort

0

Sie können eine Prozedur nicht über SQL * Loader, no ausführen. Sie können Transformationen einzelner Feldwerte durchführen, aber das ist nicht das, was Sie hier brauchen.

Die einfachste Lösung ist wahrscheinlich ein Shell-Skript, das SQL * Loader aufruft und dann SQL * Plus aufruft, um die Prozedur auszuführen. Als eine sehr grobe Skizze:

#!/bin/bash 
sqlldr username/password control=/path/test_loading.ctl 
sqlplus username/password <<!EOF 
begin 
    your_procedure(...); 
end; 
/
!EOF 

So im Wesentlichen die Skript Sie bereits arbeiten, um Ihre Verfahren haben zu rufen, sondern mit Ihrem Anruf SQL * Loader hinzugefügt es.

Damit passt Ihre Steuerdatei zu Ihrer "ähnlichen Funktionalität", und es hat nur einen Shell-Skript-Wrapper.

+0

Danke Alex, aber das ist nicht die Voraussetzung. – Kumar

+0

Ich suche dieses Problem wahrscheinlich auf andere Weise zu lösen. Vielen Dank für Ihre Antwort. – Kumar

Verwandte Themen