я сделал что-то вдоль этих линий:
Создать каталог для Oracle для каталога, который вы хотите перечислить:
create or replace directory YOURDIR
as '\path\to\your\directory';
Построить временную таблицу:
create global temporary table DIR_LIST
(
FILENAME VARCHAR2(255),
)
on commit preserve rows;
grant select, insert, update, delete on DIR_LIST to PUBLIC;
Вам нужно хранимая процедура 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 };
}
}
}
И вызываемая процедура PL/SQL для вызова Java:
CREATE OR REPLACE PROCEDURE get_dir_list(pi_directory IN VARCHAR2)
AS LANGUAGE JAVA
name 'DirList.getList(java.lang.String)';
Наконец, вызов процедуры get_dir_list внутри вашей формы будет заполнить таблицу с файлами в каталоге, который вы можете читать в вашей форме блока ,
Код java появился прямо из книги Тома Ките (не помните, какой из них).
EDIT:
На самом деле, весь код в значительной степени снят с этого AskTom thread.
Возможно ли это в версии ver6 или нет? – Amir
Является ли каталог на сервере базы данных или клиенте? –
Клиент Я уже исправил это другим способом. спасибо – Amir