sql >> Databáze >  >> RDS >> Oracle

problém s nalezením seznamu souborů v adresáři

Udělal jsem něco v tomto smyslu:

Vytvořte adresář Oracle pro adresář, který chcete vypsat:

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

Sestavení dočasné tabulky:

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

Budete potřebovat uloženou proceduru 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 };
      }
  }

  }

A PL/SQL volatelná procedura pro vyvolání java:

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

Nakonec voláním procedury get_dir_list uvnitř formuláře se tabulka naplní soubory ve vašem adresáři, které pak můžete načíst do bloku formuláře.

Java kód pocházel přímo z knihy Toma Kytea (nepamatuji si z které).

EDIT:

Ve skutečnosti je veškerý kód do značné míry vyjmut z tohoto vlákna AskTom.



  1. Jak získat efektivní řešení zablokování SQL Serveru v C# pomocí ADO?

  2. Jak používat typ BOOLEAN v příkazu SELECT

  3. 5 neobvyklých tipů pro Microsoft Access pro rok 2020

  4. Jak funguje funkce UNHEX() v MySQL