Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2006, 12h08   #1
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 3
Points : 3
Par défaut PLSQL : exporter dans un fichier

Bonjour !!!

J'ai un petit problème. En fait je possède un thésaurus, et par l'intermédiaire d'une table "Termes", j'arrive à récupérer le mot de base.
Ensuite, je cherche à récupérer par exemple la liste de ses synonymes en éxécutant la procédure plsql ci dessous (je travaille sous Java).

Code :
1
2
3
4
5
6
7
 
declare 
  synonyms varchar2(2000); 
begin 
  synonyms := ctx_thes.syn('chat,'searcher_thesaurus'); 
  dbms_output.put_line(le synonyme de chat est: '||synonyms); 
end;
Le problème c'est que je ne vois pas comment je peux récupérer les résultats dans un un resultset sous Java. Donc au lieu de les afficher à l'écran comme ci-dessus, j'aimerais les exporter, avec PLSQL, dans un fichier que je pourrai lire avec Java.
Est-ce que quelqu'un pourrait m'aider ?

Merci d'avance.
littleshrimp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 12h16   #2
Rédacteur/Modérateur
 
Inscription : janvier 2005
Messages : 2 320
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 320
Points : 2 368
Points : 2 368
Une recherche sur le Spool ou le package utl_file peuvent répondre à cette demande
Jaouad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 14h32   #3
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 3
Points : 3
merci de ta réponse !
Il me reste néanmoins un soucis.

Je n'arrive pas à faire accepter le nom du répertoire que j'entre.

Voici mon code Java :

Code :
1
2
3
4
5
6
7
stmt.executeQuery("declare synonyms varchar2(2000); 
file_handle UTL_FILE.FILE_TYPE;  
begin synonyms := ctx_thes.syn('chat','searcher_thesaurus');
file_handle:=UTL_FILE.FOPEN('Z:\','test.dat','w');
UTL_FILE.PUT_LINE(file_handle,synonyms);
UTL_FILE.FCLOSE(file_handle); 
end;");
Et pourtant, "Z:\" est un répertoire valide, mais 'test.dat' n'existe pas encore.

Quelqu'un pourrait m'éclairer ?
littleshrimp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 14h41   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Attention, le lecteur ne doit pas être un lecteur réseau.

Par ailleurs, il faut mentionner une DIRECTORY et pas un chemin depuis la 9i
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 14h43   #5
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 3
Points : 3
Pas un lecteur réseau ??????????????????????????????
AAAAAARGGGG !!!!!! Je suis à la fac donc en réseau !!!!

Y a pas un moyen de contourner ça ?

J'ai bien une DIRECTORY, mais sur le lecteur réseau.
littleshrimp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 14h48   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
déjà, sache que ce répertoire est sur le serveur et pas sur ton poste et ce serveur a forcément des chemins locaux donc pas de soucis
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 15h39   #7
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 3
Points : 3
Pourrais-je avoir quelques précisions ? Je ne suis pas très fort en administration Oracle.
Là, je suis en train de faire un mail au responsable Oracle de ma fac pour qu il me donne les droits d écriture sur la DIRECTORY PHOTOS qui existe ou alors qu il m en crée une pour moi où j aurai tous les droits dessus.

Merci encore.
littleshrimp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 15h41   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
tu peux te fendre d'une recherche dans le forum, ça devrait te renseigner
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 16h07   #9
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 3
Points : 3
Merci je vais voir...
littleshrimp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2006, 09h06   #10
Membre éclairé
 
Avatar de Wurlitzer
 
Inscription : avril 2006
Messages : 465
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 465
Points : 368
Points : 368
Si j'ai bien compris ton soucis est de recupérér ce resultat sous Java et tu cherches à écrire dans un fichier pcq tu n'y arrives pas directement ?

Dans ce cas au lieu de
Code :
1
2
3
4
5
6
7
 
declare 
  synonyms varchar2(2000); 
begin 
  synonyms := ctx_thes.syn('chat,'searcher_thesaurus'); 
  dbms_output.put_line(le synonyme de chat est: '||synonyms); 
end;
Tu fais
Code :
1
2
 
  SELECT ctx_thes.syn('chat,'searcher_thesaurus') from dual ;
et tu te retrouves à gérer un simple requete. J'imagine que ça, tu sais le faire en Java

Hope this helps
Wurlitzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h52.


 
 
 
 
Partenaires

Hébergement Web