Avatar billede mundt Nybegynder
07. november 2001 - 13:21 Der er 2 kommentarer og
1 løsning

Hvordan tilføjer man data til en eksisterende fil i Oracle?

Jeg har lavet nedstående procedure som skriver til en fil.

CREATE OR REPLACE procedure WriteToFile(a_file Varchar2, a_application Varchar2, a_log_description Varchar2) as

  v_log_data UTL_FILE.FILE_TYPE;
  v_error_code      Number;
  v_error_message  Varchar2(255);

  BEGIN

  --Open the file
  v_log_data := UTL_FILE.FOPEN (\'D:\\ARKIVDREV\\FILES\', a_file, \'W\', 4096);
  --Go to next line
  --UTL_FILE. . NEW_LINE(v_log_data);
  --write out empno
  UTL_FILE.PUT_LINE(v_log_data, to_char(sysdate, \'DD-MM-YY HH:MI:SS\') || \' || \' || a_application || \' || \' ||  a_log_description);
  --Close the file
  UTL_FILE.FCLOSE (v_log_data);

  Exception
    When others Then
        Commit;
      v_error_code := Sqlcode;
      v_error_message := Sqlerrm;
      dbms_output.put_line(\'Fejlkode: \' || to_char(v_error_code));
      dbms_output.put_line(\'Fejltekst: \' || v_error_message);
end;
/

Mit problem er at det eksisterende indhold i filen slettes når jeg indsætter.

Jeg har ikke kunnet finde nogen rutine som append\'er en fil.

Hvad gør jeg galt?
Avatar billede teepee Nybegynder
07. november 2001 - 13:24 #1
Skriv \'A\' i stedet for \'W\' i din open.
Denne danner hvis ingen findes, eller appender den
Avatar billede ehf Nybegynder
07. november 2001 - 13:26 #2
v_log_data := UTL_FILE.FOPEN (\'D:\\ARKIVDREV\\FILES\', a_file, \'a\', 4096);

w = write
a = append
r = read
Avatar billede mundt Nybegynder
07. november 2001 - 13:27 #3
Jamen det funker jo bare som fod i lederhose :o)

TAK!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester