Lösche die Datei vom server mit UTL_FILE.FRemove, ohne zu wissen, den Namen der Datei

Ich bin ein reporting analyst, der gefragt wurde, zu lernen, einige PL/SQL zu automatisieren einige Prozesse. So ich bin fast fertig, mit einem Schritt im Weg stehen. Ich habe ein Paket, das

  1. Lädt eine Tabelle mit einer Abfrage die ich geschrieben habe.
  2. Exportiert die Ergebnisse aus der Tabelle zu einem .txt-Datei auf dem server mit der current_date geheftet auf den Namen der Datei .

Ich versuche zum löschen der 3 Dateien, die es schafft mit einer wildcard, aber ich ständig Fehlermeldungen wie "vendor_file.ia.*.txt ist nicht definiert":

  • file_location ist mein Weg

Kann ich es löschen kein problem mit:

    utl_file.fremove(file_location,'vendor_file.ia.09.02.2015.txt');
    utl_file.fremove(file_location,'vendor_file.il.09.02.2015.txt');
    utl_file.fremove(file_location,'vendor_file.sd.09.02.2015.txt'); 

Aber offensichtlich, dass nicht löschen es, wenn es ausgeführt wird nächsten Monat. So bin ich fehlt eine einfache wildcard-Suche nur für 'vendor_file.ia.*' Und hat die syntax Aussehen in Oracle?

Wenn ich nicht genügend Informationen, bitte lassen Sie mich wissen!

Vielen Dank!

  • Sie müssten, um zu wissen, die genauen Datei-Namen, um den Anruf fremove. Sie können nicht passieren Sie eine wild card. Wenn Sie nichts dagegen haben einige Hack (vor allem unter Berufung auf x$ Tabellen), die Sie verwenden können dbms_backup_restore zum auflisten der Dateien in einem Verzeichnis davidalejomarcos.wordpress.com/2011/09/13/... Oder verwenden Sie eine gespeicherte Java-Prozedur asktom.oracle.com/pls/apex/...
  • Meine Lösung wäre, eine Tabelle erstellen mit zwei Feldern 1) Dateiname 2) deleted_flag. Schreiben der Datei-name in diese Tabelle, wenn es erstellt wird und dann, wenn Sie bereit sind, löschen Sie die Datei für jeden Dateinamen, die nicht als gelöscht markiert und löschen Sie Sie, und markieren Sie den Datensatz als gelöscht in der Tabelle.
  • oder einfach nur eine Tabelle mit dem Dateinamen darin. Löschen Sie die Zeile in der Tabelle, wenn die Datei gelöscht wird.
  • das würde funktionieren, ich würde lehnen in Richtung einer Prüfung, so dass ich sehen kann, welche Dateien angelegt / gelöscht werden, zum debugging / tracing.
  • Vielen Dank für Eure Hilfe, fellas! Ich werde versuchen die Tabelle mit den Namen. Der Hack könnte aus meinen Fähigkeiten.
InformationsquelleAutor Ben O'Neill | 2015-09-02
Schreibe einen Kommentar