sql >> Database teknologi >  >> RDS >> Oracle

problem med at finde listen over filer i mappen

Jeg gjorde noget i denne retning:

Opret et Oracle-bibliotek til det bibliotek, du vil have vist:

create or replace directory YOURDIR
  as '\path\to\your\directory';

Byg en midlertidig tabel:

create global temporary table DIR_LIST
(
  FILENAME VARCHAR2(255),
)
on commit preserve rows;
grant select, insert, update, delete on DIR_LIST to PUBLIC;

Du skal bruge en Java lagret procedure:

create or replace and compile java source named dirlist as
import java.io.*;
  import java.sql.*;
  import java.text.*;

  public class DirList
  {
  public static void getList(String directory)
                     throws SQLException
  {
      File dir = new File( directory );
      File[] files = dir.listFiles();
      File theFile;

      for(int i = 0; i < files.length; i++)
      {
          theFile = files[i];
          #sql { INSERT INTO DIR_LIST (FILENAME)
                 VALUES (:theName };
      }
  }

  }

Og en PL/SQL-kaldbar procedure til at kalde java:

CREATE OR REPLACE PROCEDURE get_dir_list(pi_directory IN VARCHAR2)
AS LANGUAGE JAVA
name 'DirList.getList(java.lang.String)';

Til sidst vil kald af proceduren get_dir_list inde i din formular udfylde tabellen med filerne i din mappe, som du derefter kan læse ind i din formularblok.

Java-koden kom lige ud af en Tom Kyte-bog (kan ikke huske hvilken).

EDIT:

Faktisk er al koden stort set fjernet fra denne AskTom-tråd.



  1. Returrække med den maksimale værdi af én kolonne pr. gruppe

  2. Få en liste over datoer mellem to datoer

  3. cd:-M:ugyldig mulighed

  4. Android:Hvordan beder man en markør om at opdatere ListView efter sletning af databaserækken?