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 Oracle Discussion :

Script pour exécuter un fichier .sql [Fait]


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 66
    Points
    66
    Par défaut Script pour exécuter un fichier .sql
    Bonjour,
    Je souhaiterais développer un script (procédure stockée ou fonction) qui execute un fichier .sql sur une base de données. J'utilise l'outil TOAD sur une base oracle 9.20. Le fichier source cré une table tampon et y insère des données. Il faut que tout le processus soit automatisé car il sera déclenché par un batch.
    Merci pour tout renseignement.

  2. #2
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    pourquoi ne pas faire l'appel dans le batch directement ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 66
    Points
    66
    Par défaut
    Non parce que c'est un batch générer par un progiciel. Il ne peut faire appel qu'a des restitutions ou des ordres SQL.
    Mais comment fait on pour exécuter le fichier ? quelle est la commande ou le processus ? et est il possible de l'automatiser par procédure stockée ?
    Merci

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    sous sql plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @chemin_sql\fichier.sql parametre1 parametre2
    les parametre1 et parametre2 ne sont bien sur pas obligatoire.

    Je ne sais pas comment faire pour appeler un .sql dans une procedure stocké ou fonction.
    Mais je pense que les packages servent à ça...
    Je n'en sais pas plus

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Vous pouvez utiliser Java où si vous avez Oracle 10g ça functione avec Scheduler.
    Shell Commands From PL/SQL

    http://www.oracle-base.com/articles/...sFromPLSQL.php

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 66
    Points
    66
    Par défaut
    Merci pour ces suggestions mais je ne peux pas utiliser Java pour exécuter ma procédure. Le seul langage à disposition est le SQL.
    En ce qui concerne la réponse pour le @chemin ...
    Je connaissais mais ca fonctionne sous SQL+ mais pas dans une procédure stockée ou fonction.
    Quelqu'un sait si c'est au moins faisable avec Oracle ?
    Merci

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Une manière de contourner tout ça est de charger le script en variable et utiliser du sql dynamique dans ta procédure.

    Mais attention, ta procédure devra décomposer ton script en ordre MDL ou DDL.

    En gros tu declare ORDRE_SQL VARCHAR2(30000)
    Tu utilise UTL_FILE pour lire le fichier et charger dans ORDRE_SQL un ordre du script.
    Enfin tu fait un EXECUTE IMMEDIATE ORDRE_SQL.

    Et tu continue ta boucle jusqu'à la fin de ton fichier.
    Par contre c'est un peu de boulot ("parser" le fichier script, verifier la limite en longueur de chaque ordre...)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Points : 152
    Points
    152
    Par défaut
    Bonsoir,

    Pourquoi faut il absolument executer un fichier .sql?
    Ne peut on pas mettre le .sql dans une fonction ou procedure?
    Si c'est la creation de la table qui t'arrête, il existe le sql dynamique(voir tuto sur le site) qui te permet d'executer des instructions create, drop dans du PL/SQL.

    Cdt

Discussions similaires

  1. est il possible d'exécuter un fichier .sql dans action script ?
    Par wannabi dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 01/09/2008, 15h16
  2. [2k] Exécuter plusieurs fichiers SQL
    Par drinkmilk dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/06/2006, 14h03
  3. [DOS] Script d'exécution de fichiers
    Par portu dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 05/06/2006, 13h40
  4. Réponses: 7
    Dernier message: 05/10/2005, 18h06
  5. Exécuter un fichier .sql
    Par joul's dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/02/2005, 12h18

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