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

SQL*Loader Oracle Discussion :

Batch et sql loader


Sujet :

SQL*Loader Oracle

  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Par défaut Batch et sql loader
    Bonjour a tous,

    je debute en oracle, j'espere que mon post est au bon endroit, alors voila ce que je veux faire:
    j'ai a ma disposition un fichier .csv sur un serveur distant qui est mis à jour quotidiennement. Je souhaiterai pouvoir intégrer les données contenues dans ce fichier a l'aide de sql loader, et ce chaque jour a une heure bien precise. Est-ce que Oracle sait faire ca tout seul? si oui comment, et si non quelle est la solution la plus efficace?
    Donc pour résumer, les actions a effectuer une fois par jour a une eure prédéfini (00h05) :
    -récupérer le fichier .csv
    -effectuer la mise à jour des données de ma base à l'aide de sql loader

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il ne me semble pas que l'on puisse automatisé un sqlloader directement par un job oracle.

    Mais ça se fait facilement par une ligne de commande lancé dans la crontab sous UNix ou dans une tâche planifiée sous Windows.

    En réfléchissant, il doit bien être possible de lancer une ligne de commande par un job stocké en base mais je ne l'ai jamais fait.

  3. #3
    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
    pour la mise à jour, il suffit de créer une table externe

    Pour la copie du CSV, ce devra être avec un shell sur l'OS

  4. #4
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Par défaut
    Ok, merci de vos réponses. Donc pour le batch je vais passer par une tache planifié windows. Je ne connaissais pas les tables externes, je viens de lire ca sur le site et ca fait exactement ce que je veux faire, dans le sens ou je ne dois pas modifier les données récupérées du fichier csv, donc c'est parfait! Et donc si j'ai bien compris, une fois la table externe créée, si je remplace le fichier csv par le nouveau fichier mis a jour, je n'ai rien a faire de plus? Quand je ferai un select sur ma table externe, j'aurai directement les données du nouveau fichier? (en gros les données du fichier sont bien lu directement dans le fichier, cela ne necessite aucune action utilisateur de "chargement" du fichier?)

  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
    en effet, la table externe n'est ni plus ni moins qu'une description du fichier (comme SQL*Loader) qui permet à Oracle de lire convenablement son contenu... le contenu étant lu en temps réél, un changement dans le fichier sera immédiatement répercuté

  6. #6
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Par défaut
    Ok merci! Une derniere petite question, ou puis-je placer le fichier? est-ce que je peux definir un repertoire sur un serveur distant, ou bien est-ce que le fichier doit necessairement etre placé sur le serveur oracle, dans un repertoire connu de oracle, et si oui lequel?

  7. #7
    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
    il faut créer une DIRECTORY dans la base qui pointe sur un emplacement sur le serveur Oracle.

  8. #8
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Par défaut
    J'ai une derniere petite question, on me fournit egalement un fichier .txt sans délimiteur, et j'ai l'emplacement de chaque champ, une ligne représentant un enregistrement. J'ai donc le numero d'emplacement du premier caractère de mon champs et la longueur. est-ce possible de faire une table externe avec ce type de fichier, et si oui comment? car sur les exemples de table externe que j'ai trouvé il y a toujours un délimiteur (souvent la vigule).

  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
    tu as la longueur de chaque champs ?

  10. #10
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Par défaut
    oui j'ai la position du premier caractere et la longueur
    ex:code(1, 8); libellé(9,25); etc et donc le champ code commence a la position 1 et contient 8 carcateres, et le champ libellé commence a la position 9 et contient 25 carcteres etc. Je pense que ca doit etre possible mais les exemples de tables externes que j'ai trouvé sont tous avec des delimiteurs...

  11. #11
    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
    si tu trouves des exemples avec SQL*Loader tu peux t'en inspirer, le fichier de contrôle étant similaire voir identique

Discussions similaires

  1. équivalent SQL*Loader pour FB / IB
    Par djeant dans le forum Outils
    Réponses: 9
    Dernier message: 10/01/2005, 21h26
  2. Chargement de fichier par SQL LOADER
    Par davy.g dans le forum SQL*Loader
    Réponses: 17
    Dernier message: 15/11/2004, 13h08
  3. SQL LOADER
    Par velo83 dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 25/10/2004, 08h24
  4. Réponses: 4
    Dernier message: 10/06/2004, 18h05
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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