Lesen Sie text-Datei zum einfügen von Daten in Oracle SQL-Tabelle

Ich studiere Oracle SQL developer.

Was ich Tue, ist das Lesen von text-Datei Zeile für Zeile aus dem Ordner.
Dann Einfügen von Daten in die SQL-Tabelle.

Ich bin in der Lage zu kompilieren meine VORGEHENSWEISE, aber es scheint nicht zu sein, das einfügen der Daten in die Datei.

Create or Replace PROCEDURE Rfile is
f UTL_FILE.FILE_TYPE;
s VARCHAR2(200); 
BEGIN
f := UTL_FILE.FOPEN('C:\Projects\','testdatabinary.txt','R');
  IF UTL_FILE.IS_OPEN(f) THEN
    LOOP
      BEGIN
        UTL_FILE.GET_LINE(f,s);
        IF s IS NULL THEN
          EXIT;
        END IF;
      INSERT INTO DATAINSERT
      (COLUMN1, COLUMN2)
      VALUES
      (s, 'testdatabinary');
      END;
  END LOOP;
  COMMIT;
  END IF;
 END;

Und ich habe eine Tabelle DATAINSERT mit zwei varchar(200) Typ cols

Ich bin nicht wirklich sicher, ob die Gründe, die PROZEDUR ist nicht das einfügen von Daten in Tabelle

Ich habe gerade überprüft Fehlermeldung

Error starting at line 1 in command:
EXEC Rfile
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at "SYSTEM.RFILE", line 5
Ist die erste Zeile NULL ist? Sie konnte dbms_output verwenden.put_line(s), um zu sehen, was es liest.
Nein , Es ist das problem der Verzeichnis-Pfad. Ich habe überprüft, und kopieren Sie und fügen Sie das Verzeichnis der Datei genau :(. allerdings ist es immer noch ein problem
Und die Datei/Verzeichnis existiert auf dem server? Nicht sehen, nichts falsch mit dem code.
ja ! also ich erstelle Pfad-Namen wie "MYDIR" und ich repleased wie f := UTL_FILE.FOPEN('MYDIR','testdatabinary.txt','R');
dann bekam ich eine Fehlermeldung wie "01403. 00000 - "keine Daten gefunden""

InformationsquelleAutor Dc Redwing | 2013-02-12

Schreibe einen Kommentar