IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Importation de type CSV vers Oracle8i


Sujet :

Oracle

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut Importation de type CSV vers Oracle8i
    Bonjour,

    Je dispose uniquement dans l'entreprise d'un serveur Oracle 8i (8.1.7.4.0) et de SQL*Plus 3.3.3.0.0
    (Pour être plus précis nous utilisons le progiciel de GMAO Carl Master (argg), soit disant le seul certifié Oracle dans le domaine de la GMAO, quelqu'un connait ?)

    Je souhaiterais importer un fichier de type CSV classique afin de le traiter par ligne au moyen d'un script dans SQL*Plus (des Updates pour la plupart).

    Cette action d'importation de fichier est-elle réalisable depuis SQL*Plus (je ne dispose pas de SQL*Loader)... Que me conseillerez-vous ? Merci beaucoup.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    tu peux chercher SQL*Loader ou sqlldr

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut re
    Je ne suis pas censé installer de nouveaux logiciels (pb de droits et surtout politique de sécurité... grosse société...etc...). Cette manip est-elle réalisable depuis le simple SQL*Plus ? Merci.

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    Dans ce cas utilise utl_file

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par gamma
    Je ne suis pas censé installer de nouveaux logiciels (pb de droits et surtout politique de sécurité... grosse société...etc...). Cette manip est-elle réalisable depuis le simple SQL*Plus ? Merci.
    c'est un utilitaire standard au même titre que SQL*Plus, il n'y a donc rien de nouveau à installer.

    Plainer utl_file impose de transférer le CSV sur le serveur de base de données... c'est pas top

  6. #6
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par Fred_D
    Plainer utl_file impose de transférer le CSV sur le serveur de base de données... c'est pas top
    SQL*Loader aussi non ?

  7. #7
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par gamma
    ...
    Je souhaiterais importer un fichier de type CSV classique afin de le traiter par ligne au moyen d'un script dans SQL*Plus (des Updates pour la plupart).
    C'est une action à effectuer une seule fois ou tu veux mettre en place un processus automatique ?

  8. #8
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut
    Oui, excusez-moi je n'ai pas pleinement identifié mon problème : cet import ne serait pas un besoin ponctuel (de mise a jour de base par exemple) mais un besoin fréquent : un prestataire non informaticien doit être en mesure d'importer tout seul ce genre de fichier depuis son poste. Aussi, le progiciel que nous utilisons "en surcouche" d'Oracle (Carl Master) incorpore SQL*Plus pour les besoins de scripting... C'est pour cela que j'insistais sur ce dernier utilitaire... utl_file est-il vraiment adapté dans ce cas et est-il fonctionnel sous Oracle8i ? Dernier point, je n'ai pas les droits d'administration et suit donc limité. Merci.

  9. #9
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par remi4444
    SQL*Loader aussi non ?
    non, il est inclus dans le CD Oracle Client

  10. #10
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par gamma
    Oui, excusez-moi je n'ai pas pleinement identifié mon problème : cet import ne serait pas un besoin ponctuel (de mise a jour de base par exemple) mais un besoin fréquent : un prestataire non informaticien doit être en mesure d'importer tout seul ce genre de fichier depuis son poste. Aussi, le progiciel que nous utilisons "en surcouche" d'Oracle (Carl Master) incorpore SQL*Plus pour les besoins de scripting... C'est pour cela que j'insistais sur ce dernier utilitaire... utl_file est-il vraiment adapté dans ce cas et est-il fonctionnel sous Oracle8i ? Merci.
    Dans ce cas, la table externe me semble le meilleur choix. Il faudra en revanche mettre en place un processus pour transférer le fichier au bon format dans un répertoire du serveur de base de données.

    Oracle client est installé sur les postes ?

  11. #11
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    Citation Envoyé par Fred_D
    c'est un utilitaire standard au même titre que SQL*Plus, il n'y a donc rien de nouveau à installer.

    Plainer utl_file impose de transférer le CSV sur le serveur de base de données... c'est pas top
    Sauf qu'il précise dans son premier message qu'il ne dispose pas de SQL*Loader , et dans ce cas, en 8i, je ne vois pas d'autre solution purement oracle... Après si le fichier ne peut pas être transférer sur le serveur de base, il faut qu'il passe par un autre langage (C, java...)

  12. #12
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    Citation Envoyé par Fred_D
    Dans ce cas, la table externe me semble le meilleur choix. Il faudra en revanche mettre en place un processus pour transférer le fichier au bon format dans un répertoire du serveur de base de données.

    Oracle client est installé sur les postes ?
    Les tables externes ne sont implémentées qu'à partir de la 9i, non ? Et en plus là aussi le fichier doit être sur le serveur de base

  13. #13
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut
    oui je souhaiterai que cette action soit automatique ou semi-automatique.

    En effet , PlaineR^^, je suis très limité en terme d'outils pour Oracle, c'est pour cela que mon étude de faisabilité pour le moment fait un flop...

    Enfin, j'aurrais, je le pense, les compétences pour réaliser ce genre d'import depuis un langage de prog C ou Java (j'ai déjà réalisé des tests en C/MySQL) mais je me heurte encore une fois à des problèmes de politique de la DSI.

    Je vais très certainement appeler la Hotline du logiciel pour savoir s'il existe une alternative (si je tombe sur un bon hotliner et c'est pas forcément gagné...)

    En tout cas, merci à tous pour ces réponses pertinentes et très rapides.

  14. #14
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par plaineR
    Sauf qu'il précise dans son premier message qu'il ne dispose pas de SQL*Loader , et dans ce cas, en 8i, je ne vois pas d'autre solution purement oracle...
    On a déjà eu des membres qui ne savaient pas que c'était installé avec SQL*Plus (par défaut il me semble)

    Citation Envoyé par plaineR
    Après si le fichier ne peut pas être transférer sur le serveur de base, il faut qu'il passe par un autre langage (C, java...)
    en effet

  15. #15
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par Fred_D
    non, il est inclus dans le CD Oracle Client
    Non en 8i c'est pas possible... et c'est très pénible d'ailleurs....

  16. #16
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bien sûr que c'est possible. Tu sélectionnes SQL*Loader en plus de SQL*Plus dand l'installer et c'est parti... il n'y a aucun problème

  17. #17
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par Fred_D
    bien sûr que c'est possible. Tu sélectionnes SQL*Loader en plus de SQL*Plus dand l'installer et c'est parti... il n'y a aucun problème
    Le problème n'est pas de l'installer, mais de pouvoir s'en servir si tu me trouve la syntaxe pour faire du sqlloader à traver en client en 8i je suis preneur!

    http://download-west.oracle.com/docs...5/ch06.htm#496

  18. #18
    Membre confirmé Avatar de gaboo_bl
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    Citation Envoyé par remi4444
    Le problème n'est pas de l'installer, mais de pouvoir s'en servir si tu me trouve la syntaxe pour faire du sqlloader à traver en client en 8i je suis preneur!

    http://download-west.oracle.com/docs...5/ch06.htm#496
    Bonjour,
    A moins qu'on ait pas le même 8i, je ne vois pas où est le problème, il me semble avoir fait çà des tas de fois quand j'étais sur cette version... quel est ton souci avec la syntaxe?

  19. #19
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %ORACLE_HOME%\bin\SQLLDR80.EXE CONTROL=c:\foo.ctl, LOG=bar.log, BAD=baz.bad, DATA=etc.dat 
       USERID=scott/tiger, ERRORS=999, LOAD=2000, DISCARD=toss.dis,
       DISCARDMAX=5
    avec c:\foo.ctl, le fichier de contôle sur ton poste... j'comprends pas le problème

  20. #20
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut

    bon, je dois etre passé à coté de quelque chose... ou est l'indication de la base dans laquelle on fait l'import dans ta syntaxe? dans le fichier de controle ?

    Parcequ'à chaque fois que j'ai essayé de faire "sqlldr scott/tiger@BD_DIST ... etc" je me suis toujours fait jeté moi, on m'aurait mentiii ?

Discussions similaires

  1. [AC-2003] importation automatique fichiers csv vers access
    Par biquet52 dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/03/2010, 17h32
  2. [MySQL] Script d'importation automatique de CSV vers BDD
    Par jeinny dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 11/06/2009, 16h50
  3. Import d'un CSV vers MySql
    Par alias666 dans le forum C#
    Réponses: 8
    Dernier message: 22/01/2008, 11h13
  4. [Conseil] Import de fichier CSV vers MySQL
    Par ShinJava dans le forum JDBC
    Réponses: 6
    Dernier message: 15/03/2005, 20h14
  5. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo