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 12/07/2005, 16h59   #1
j2s
Provisoirement toléré
 
Inscription : novembre 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 3
Points : 0
Points : 0
Par défaut Pseudo parser SGML en PL/SQL

Hello,

Je bosse sur une version 9.2 d'Oracle.

Je dois traiter les données d'un fichier texte format pseudo SGML (le superset de HTML pour les incultes ). My questions are :

- comment charger ce fichier (d'un file system unix dans une variable PL-SQL)
- Traiter les chaînes de caractères (j'ai vu qu'il y avais un plétore d'instruction simple style instr ... mais pas de strtok)
- J'ignore complètement comment faire
- Le tout avec les fonctionalités de base d'oracle ...

En plus si ca fait le café c'est pas mal .

Bon je suis ouvert à toute solution simple. J'attire juste votre attention sur le fait qu'il y a 5'000 traitements de ce type à effectuer sur un laps de temps d'1/2 heure ===> performance de la store proc.



la bonne nouvelle c'est que bannir est anagramme de n nibar (soit n = 2)
j2s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2005, 17h12   #2
j2s
Provisoirement toléré
 
Inscription : novembre 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 3
Points : 0
Points : 0
Par défaut Download de blob

ReHello,

Variation sur le même thême : Je dois "downloader" le contenu d'un blob dans un file system. Je pense pas que SQL Loader réponde à mes besoins, les critères de download sont multiple et ne sont pas dans la table ou se trouve le blob (et oui pourquoi faire simple ... c'est le principe de notre profession )

My question is :

- Y a trouvé pour loader un fichier dans un blob mais dans l'autre sens y a pas trouvé ?

Voilà c'est tout mais c'est pas fini ...

a+ merci
j2s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2005, 07h50   #3
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 charges le fichier via UTL_FILE.GET_FILE après avoir créé la DIRECTORY qui va bien
- tu peux par exemple charger chaque mot dans une table pour avoir une ligne par mot. INSTR(var1,' ') récupère le position du 1° espace dans la chaine.

Code :
1
2
3
4
5
6
7
8
9
10
11
col := tachaine;
 
SELECT masequence.NEXTVAL
   INTO id_col
  FROM DUAL;
 
WHILE INSTR(col,' ') > 1 LOOP
premier_mot :=  SUBSTR(col, 1, instr(col,' '));
INSERT INTO liste_mot VALUES (id_col , premier_mot);
col := SUBSTR(col, instr(col,' ') + 1);
END LOOP;
C'est juste une piste

Pour recharger un CLOB, tu peux passer par UTL_FILE.PUT_LINE.

PS : my question IS
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2005, 17h41   #4
j2s
Provisoirement toléré
 
Inscription : novembre 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 3
Points : 0
Points : 0
Par défaut Yes

Ca marche apparement.

La lecture d'un fichier texte se fait soit avec UTL_FILE et get_line ... existe aussi sous TEXT_IO

Attention pour l'utilisation contrairement aux languages un peu plus "ringard" il n'y a pas de feof comme en c ... Oracle génère une exception NO_DATA_FOUD ==> A prendre en compte dans le traitement du fichier.

Thx of for ze reply ...


---
ich bin ein berliner
j2s 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 23h45.


 
 
 
 
Partenaires

Hébergement Web