Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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 20/02/2007, 14h03   #1
Invité de passage
 
Inscription : novembre 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 3
Points : 0
Points : 0
Par défaut Récupérer certaines données et les mettre dans un fichier texte.

Bonjour,

Je dois réaliser un batch quotidien qui récupère certaines données de la base et les transcrit dans un fichier texte (avec un format spécifié)

Existe-t-il sous Oracle un outil permettant de créer le code rapidemment ??

Pourriez vous me donner des exemples ??

Merci d'avance !!
celicor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h10   #2
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Bonjour,

pour faire ce genre de chose, vous pouvez utiliser le package UTL_FILE ou faire un spool.

Je n'en dirais pas plus car la question à dèjà été posté. Une petite recherche sur le forum s'impose ou même sur le site.

voili, voilou
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h10   #3
Invité de passage
 
Inscription : février 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 3
Points : 2
Points : 2
Est ce que cela peut t'aider ? http://download-west.oracle.com/docs...a90842/ch7.htm
blackarma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h16   #4
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Avec UTL_FILE :
http://sheikyerbouti.developpez.com/pl_sql/?page=Chap8
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h19   #5
Membre habitué
 
Inscription : février 2007
Messages : 216
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 216
Points : 115
Points : 115
pour faire cela il faut créer 2 fichiers lance.bat et req.sql :
pour le lance.bat:
Code :
#sqlplus /nolog @req.sql
pour le req.sql :
Code :
1
2
3
4
5
# connect user/password@chaine
# spool fichier_sortie.txt
# select donnees from table ;
# spool off
# exit
elharet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h35   #6
Membre du Club
 
Inscription : septembre 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 87
Points : 46
Points : 46
ça n'implique que moi, mais je crois que c'est plus propre d'utiliser UTL_FILE pour tout ce qui est import/export, parce qu'avec ce package, on peut controler le format des données exportés, et j'imagine que c'est le but de l'export.
par exemple, si les données que tu exportes doivent être affichées sur excel après, le mieux est d'avoir un format CSV, et ça, tu ne peux pas le faire avec spool.
enfin, c just un avis
AEMAG
aemag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 18h55   #7
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
avec SQL*Plus le format est libre, il y a aussi beaucoup d'option. Par ailleurs, utl_file ne permet pas de générer un script sur le poste client et ouvre une faille de sécurité... alors moi, pour si peu, je privilégie le spool
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 06h08   #8
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Bonjour,

Citation:
utl_file ne permet pas de générer un script sur le poste client et ouvre une faille de sécurité...
Fred pourrait tu nous en dire plus sur la faille de sécurité ?
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 07h55   #9
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
bah c'est pas compliqué, pour utiliser UTL_FILE il faut autoriser l'écriture sur un répertoire depuis la base de données... or Oracle est loin d'être irréprochable en terme de sécurité donc tu détournes la sécurité mise en place sur le serveur grâce à la base... sans compter le nombre de fois où j'ai vu un utl_file_dir = *
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 09h29   #10
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par Fred_D
bah c'est pas compliqué, pour utiliser UTL_FILE il faut autoriser l'écriture sur un répertoire depuis la base de données... or Oracle est loin d'être irréprochable en terme de sécurité donc tu détournes la sécurité mise en place sur le serveur grâce à la base... sans compter le nombre de fois où j'ai vu un utl_file_dir = *
Oui enfin à partir de la 9i et la gestion des directories, la faille de sécurité est quand même très limitée puisque tu détermines les seuls répertoires où tu veux écrire et tu donnes les droits en écritures ou en lecture.

Les 2 principaux intérêts que je vois à utl_file est de pouvoir :
1. être utilisé à l'intérieur de package et de procédures/fonctions stockées.
2. écrire des données binaires.

Mais depuis la 10gR2 avec les dbms_output de taille illimitée, je privilégie le spool pour tout ce qui est écriture de données ascii dans des fichiers.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 09h32   #11
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
Citation:
Envoyé par plaineR
Oui enfin à partir de la 9i et la gestion des directories, la faille de sécurité est quand même très limitée puisque tu détermines les seuls répertoires où tu veux écrire et tu donnes les droits en écritures ou en lecture.
sauf que utl_file_dir est toujours présent

De toutes façons, ça reste une ouverture sur l'OS que je ne préconiserai qu'avec parcimonie
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 09h39   #12
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par Fred_D
sauf que utl_file_dir est toujours présent
Là c'est le travaille du dba de dire aux chefs de projet ou aux développeurs qu'il ne veut pas utiliser utl_file_dir ou de n'autoriser que quelques répertoires dans utl_file_dir.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 09h44   #13
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Merci à vous deux pour ces précisions. Vous êtes des chefs

Citation:
Mais depuis la 10gR2 avec les dbms_output de taille illimitée, je privilégie le spool pour tout ce qui est écriture de données ascii dans des fichiers.
ça c'est une info vraiment interressante, dommage que je bosse avec la 9i
kalyparker 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 04h33.


 
 
 
 
Partenaires

Hébergement Web