Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1524 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle 10G] Données vers fichier Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Oracle 10G] Données vers fichier Excel

n°1974838
madkane
Posté le 18-03-2010 à 11:09:27  profilanswer
 

Bonjour à tous,
 
Je suis actuellement sur une base Oracle.
Je souhaite extraire mes données vers un fichier Excel.
 
J'ai trouvé http://www.astral-consultancy.co.u [...] .cgi?11270
 
Ma question :
 - Est-il possible de créer un fichier Excel à partir d'oracle directement dans un répertoire?
 
Je ne souhaite pas utiliser DAD (Data Acces Descriptor) qui impose l'installation d'Apache.
 
Merci pour vos réponses.

mood
Publicité
Posté le 18-03-2010 à 11:09:27  profilanswer
 

n°1974854
skeye
Posté le 18-03-2010 à 11:47:15  profilanswer
 

comment ça directement à-partir d'oracle dans un répertoire? Sur le serveur?
Tu dois pouvoir générer du csv en pl/sql et l'écrire dans un répertoire avec des packages du style utl_file, mais c'est moche.:o


---------------
Can't buy what I want because it's free -
n°1974868
olivthill
Posté le 18-03-2010 à 12:37:06  profilanswer
 

Oui utl_file est une solution, mais il faut faire attention à certaines choss qui sont devenues obsolètes, et faire attention aux privilèges.
 
Sinon, il y dbms_output, mais il faut faire attention à la taille du buffer.
 
Sinon, il y a le banal spool avec sqlplus, qui n'est pas obsolète du tout, et n'a pas de restriction majeure, bien qu'il soit très vieux et très simple d'utilisation.

n°1974878
couak
Posté le 18-03-2010 à 13:22:15  profilanswer
 

utl_file n'est pas très recommandé, car cela nécessite des modifs. dans le fichier init, et en général les admins. le considèrent comme une faille de sécurité
 
sinon tu peux utiliser des applications tierces qui le font de manière natives comme SQL Developer, ou encore bidouiller un script
 
en perl, ca se fait en moins de 50 lignes

n°1974883
madkane
Posté le 18-03-2010 à 13:39:08  profilanswer
 

Merci de vos réponses.
 
Je vais être plus explicite.
Mon but, j'ai une procédure stockée qui me renvoie un tableau.
Je veux pouvoir récupérer à la fin un fichier Excel contenant ces données sur le serveur .
 
En attendant je vais regardé:
- utl_file
- dbms_output
 
Je veux le faire par SQL pour un gain de temps.
Il est possible que je récupère au maximum 3 onglets de 65000 dans des cas exceptionnel.
J'ai fait des tests en passant par le C# mais le temps de construction du fichier Excel est beaucoup trop long.

n°1974907
couak
Posté le 18-03-2010 à 14:29:36  profilanswer
 

sinon t'as l'alternative perl ou VBS
franchement j'ai un script Perl -> CSV de moinsd e 50 lignes qui est capable de cracher des millions de lignes sans problèmes

n°1974921
madkane
Posté le 18-03-2010 à 14:54:12  profilanswer
 

Ok Couak.
 
Je n'ai jamais fait de Perl.
Tous les conseils sont les bien venus.
A ce sujet est-ce que le Perl gère les onglets.
Peux-tu me dire de quelles manières tu utilises Perl avec Oracle?
 
Je suppose qu'il faut faire des installations particulières pour le Perl, je regarde.

Message cité 1 fois
Message édité par madkane le 18-03-2010 à 14:59:26
n°1974925
olivthill
Posté le 18-03-2010 à 15:00:27  profilanswer
 

Citation :

[...] gère les onglets [?]


Avec le format csv, on obtient un classeur qui ne contient qu'une seule feuille, donc un seul onglet.
Pour avoir plusieurs onglets, il faudrait générer un fichier ".xls" ou ".xlsx", en faisant de l'automation ou autre chose, mais qui n'est pas possible à faire depuis du PL/SQL ordinaire.

n°1974950
couak
Posté le 18-03-2010 à 15:59:37  profilanswer
 

madkane a écrit :

Ok Couak.
 
Je n'ai jamais fait de Perl.
Tous les conseils sont les bien venus.
A ce sujet est-ce que le Perl gère les onglets.
Peux-tu me dire de quelles manières tu utilises Perl avec Oracle?
 
Je suppose qu'il faut faire des installations particulières pour le Perl, je regarde.


sur un Unix, c'est tellement indispensable que c'est en général installé par les admin
suivant les OS (genre solaris) c'est installé par défaut
 
sous windows, Oracle inclut de base un interpréteur Perl, d'ailleurs pas mal de scripts sont fait en perl dont notament opatch (l'utilitaire pour gérer des patches intermédiaires d'oracle)
 
avec le module perl adéquat, tu peux créer des fichiers excel avec pluisuers feuilles

n°1975144
madkane
Posté le 19-03-2010 à 11:38:21  profilanswer
 

Merci Couak.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle 10G] Données vers fichier Excel

 

Sujets relatifs
[VBS] Lire un fichier excel[VBA] lire fichier texte jusqu'à ...
case in blabla (KSH) ===> fichier CSVprobleme excel
[Flash] Masquage selon fichier PNGcouper une facture vers un fichier client
Basique:Sélection Worksheet Excel depuis une macro ?Déplacer une ligne de code dans un fichier XML ?
Plus de sujets relatifs à : [Oracle 10G] Données vers fichier Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR