je fait quelque chose le long de ces lignes:
Créer un répertoire Oracle pour le répertoire que vous voulez à la liste:
create or replace directory YOURDIR
as '\path\to\your\directory';
Construire une table temporaire:
create global temporary table DIR_LIST
(
FILENAME VARCHAR2(255),
)
on commit preserve rows;
grant select, insert, update, delete on DIR_LIST to PUBLIC;
Vous aurez besoin une procédure stockée 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 };
}
}
}
et un PL/SQL procédure appelable pour appeler la java:
CREATE OR REPLACE PROCEDURE get_dir_list(pi_directory IN VARCHAR2)
AS LANGUAGE JAVA
name 'DirList.getList(java.lang.String)';
Enfin, en appelant la procédure get_dir_list dans votre formulaire sera remplir la table avec les fichiers dans votre répertoire, que vous pouvez ensuite lire dans votre bloc de formulaire .
Le code java est tout droit sorti d'un livre de Tom Kyte (ne se rappelle pas lequel).
EDIT:
En fait, tout le code est à peu près de cette levée AskTom thread.
est-ce possible en ver6 ou pas? – Amir
Le répertoire est-il sur le serveur de base de données ou le client? –
Client Je le corrige déjà d'une autre manière. merci – Amir