wie lese ich eine lokale Datei in SQL-Developer?
Ich Lesen möchte eine Datei auf meinem lokalen Computer enthält, die Abfrage-Parameter, wenn ich ausführen einer Abfrage in Oracle SQL developer. Die Beispiele, die ich gefunden habe im web bisher unzureichend sind. Ich bekomme den "ORA-29283: Ungültiger Vorgang" - Fehler, wenn ich führen Sie den folgenden code:
CREATE DIRECTORY SAMPLEDATA2 AS 'C:';
GRANT READ, WRITE ON DIRECTORY SAMPLEDATA2 TO PUBLIC;
declare
f utl_file.file_type;
s varchar2(200);
c number := 0;
BEGIN
f := utl_file.fopen('SAMPLEDATA2','sample2.txt','R');
loop
utl_file.get_line(f,s);
dbms_output.put_line(s);
c := c + 1;
end loop;
exception
when NO_DATA_FOUND then
utl_file.fclose(f);
dbms_output.put_line('Number of lines: ' || c);
end;
möglich, Duplikat der UTL_FILE.FOPEN(- ) Verfahrens nicht akzeptieren Pfad für das Verzeichnis ?
InformationsquelleAutor user786149 | 2011-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
UTL_FILE
können nur Daten aus Dateien Lesen, die auf dem Datenbankserver gespeichert. Da ist es PL/SQL-code, es läuft auf dem Datenbank-server und hat nur Zugriff auf die Ressourcen, die verfügbar sind, um die Oracle-Prozess auf dem Datenbank-server.Nicht wirklich. Sie konnte etwas tun, wie mit SQLLoader-Datei zu schreiben, um eine CLOB-Spalte in einer Tabelle in der Datenbank, und verwenden Sie dann die
DBMS_LOB
Paket zum Lesen der Daten aus dem CLOB. Das wäre aber ganz unterschiedliche Semantik. Sie würden in der Regel besser aus-kopieren der Datei auf den Datenbank-server und mitUTL_FILE
die Datei zu Lesen (vorausgesetzt natürlich, dass Sie nicht besser mit SQL - Loader zum laden der Daten aus der Datei in eine Tabelle).InformationsquelleAutor Justin Cave
Scheint dies ein ungewöhnlich - ich wollte sagen, 'eigenartige' -architektonische Entscheidung. Wo kommen diese Werte comne aus? Warum thay muss in einer Datei gespeichert werden? Wie oft verändern Sie sich?
Es wird sehr schwierig sein, setzen Sie den Inhalt einer lokalen PC-Datei zu einem remote-Datenbankserver (also wir reden hier die Automatisierung mit
ftp
oder ein manueller Prozess, der mit sowas wie WinSCP).Auf der anderen Seite, es könnte ganz einfach anwenden einige Abfrage-Parameter an eine Abfrage, beispielsweise mithilfe von SYS_CONTEXT und namespaces. Ich brauche aber mehr details wissen, bevor ich eine alternative Lösung.
Naja, was solls, wenn es ein one-time-Last, Schraube Eleganz und verwandeln Sie Ihre Daten in ein Skript von einer Reihe von insert-Anweisungen und werfen alles in eine temp-Tabelle zur weiteren massieren später. (Ich mache das in Excel persönlich.)
InformationsquelleAutor APC