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 :

[Oracle 9i] SQL dynamique, comment passer un fichier en paramètre ?


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Points : 74
    Points
    74
    Par défaut [Oracle 9i] SQL dynamique, comment passer un fichier en paramètre ?
    Bonjour à tous,

    Dans une proc stock j'essaie de lancer dynamiquement une autre proc stock en lui passant un fichier en E/S (in out), quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    execute immediate 'begin  :1 :=' || vScript || '(:2, :3); end;' using out codRetScript, periodeTraitement, in out fic;
    vScript est le libellé d'une proc stock à lancer
    codRetScript : varchar2
    periodeTraitement : varchar2
    fic : UTL_FILE.FILE_TYPE, ouvert auparavant.

    Evidemment ça plante à la compil. car sql dynamique n'aime que les type sql "simples".

    Y a-t-il un moyen de contourner ce pb ?

    Je ne veux pas passer par une table intermédiaire dépendante des commits rollback sur les tables applicatives.

    Vous auriez ça dans vos besaces ?

    Merci d'avance.

    Cordialement.

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Pourquoi ne pas utiliser un CLOB dans lequel vous auriez stocké le contenu du fichier ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par SheikYerbouti
    Pourquoi ne pas utiliser un CLOB dans lequel vous auriez stocké le contenu du fichier ?
    Mais si je rollback mes tables applicatives, je perds aussi mon clob, non ?
    (je voudrais indépendance entre traitement du fichier et traitements des tables)

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Rollback n'a jamais supprimé le contenu d'une variable PL/SQL...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 155
    Points : 74
    Points
    74
    Par défaut
    ok !
    Cependant on voudrait pouvoir suivre au fur et à mesure le déroulement des traitements en jetant un oeil sur la log : on écrira dans le clob et au retour de la proc le clob dans le fichier (on suivra moins pas à pas, mais ça devrait aller).

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/12/2013, 16h42
  2. Oracle 10g: SQL LOADER longueur maximum chemin fichier à importer
    Par mamid1706 dans le forum Import/Export
    Réponses: 0
    Dernier message: 16/12/2010, 11h18
  3. Réponses: 8
    Dernier message: 09/12/2008, 10h04
  4. [Débutant] Comment passer un fichier en paramètre d'une fonction?
    Par Rires et Chansons dans le forum MATLAB
    Réponses: 4
    Dernier message: 23/10/2007, 21h12
  5. Réponses: 1
    Dernier message: 06/04/2006, 13h22

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