Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

masalah dalam menemukan daftar file dalam direktori

Saya melakukan sesuatu seperti ini:

Buat direktori Oracle untuk direktori yang ingin Anda daftarkan:

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

Buat tabel sementara:

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

Anda memerlukan prosedur tersimpan java:

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 };
      }
  }

  }

Dan prosedur yang dapat dipanggil PL/SQL untuk memanggil java:

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

Terakhir, memanggil prosedur get_dir_list di dalam formulir Anda akan mengisi tabel dengan file di direktori Anda, yang kemudian dapat Anda baca ke dalam blok formulir Anda.

Kode java berasal langsung dari buku Tom Kyte (tidak ingat yang mana).

EDIT:

Sebenarnya, semua kode cukup banyak diangkat dari utas AskTom ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menjalankan skrip SQL asli di JPA/Hibernate?

  2. Bagaimana cara mengekspor tabel kosong di oracle

  3. Pembilasan Kursor Tunggal

  4. NVL() Fungsi di Oracle

  5. ROWID (Oracle) - ada gunanya?