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

PL/SQL Oracle Discussion :

Appeler une procédure stockée en fonction de fichiers


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Appeler une procédure stockée en fonction de fichiers
    Bonjour,

    J'ai une question un peu bizarre que je ne sais pas trop dans quel forum mettre. Désolé si je n'ai pas fais le bon choix

    Je dois parcourir 1 ou plusieurs répertoires récursivement pour aller chercher certains fichiers.
    En fonction du contenu de ces fichiers et de valeurs dans la base, je dois ou pas lancer une procédure stockée.
    Je m'interroge sur la méthode à utiliser. L'applicatif est sous .Net et la base est une 11g. La quantité de fichiers à traiter est très variables, de 1 à quelques milliers.

    J'ai pensé à 2 possibilités :
    1. Scanner les répertoires avec la couche applicative en .Net, lire les fichiers, interroger la base à l'aide d'un code PL/SQL qui aurait en paramètre in les valeurs utiles au test et qui lancerait la procédure stockée.
      Donc les aller-retours entre .Net et Oracle se ferait pour chacun des fichiers lus
    2. Lancer depuis la couche applicative en .Net une fonction Java contenue dans Oracle qui scannerait les répertoires et lirait les fichiers, puis testerait s'il faut ou pas lancer la procédure stockée.
      Il n'y aurait qu'un "aller-retour" entre .Net et Oracle mais des échanges Java - PL/SQL

    Qu'en pensez-vous ? Laquelle est la mieux, ou la moins pire ?
    Ou y a-t-il une autre option à laquelle je n'ai pas pensé ?

    Merci de votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Ça fait plaisir de lire une question clairement posée !

    La première formule ne me paraît pas choquante dans la mesure où il n'y aurait pas d'échange de données entre le client et le serveur.
    Cependant, les changements de contexte entre PL/SQL et Java sont probablement moins coûteux que les échanges réseau, et à ce titre la deuxième formule aurait ma préférence.

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    La structure de vos fichiers est homogène ?
    Où ces fichiers se trouvent: sur le serveur de base des données, sur le serveur d'appli ?
    Ces N fichiers d'origine peuvent être concaténés et traitées d'un seul coup ?

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    @Pomalaix
    Je me dis que plus c'est clair, moins il y a d'échanges avant d'avoir une réponse, et plus la réponse est précise !

    Je pensais un peu la même chose en ce qui concerne les échanges.
    Je ne connais pas java ni comment l'utiliser avec Oracle mais je me dis que pour ce que j'ai à faire, je vais trouver facilement sur le net.
    Et puis, j'essaye toujours de glisser quelques % d'inconnus dans un projet, histoire de progresser. J'ai toujours fonctionner comme cela jusqu'à maintenant

    @mnitu
    La structure des fichier est homogène
    Les fichiers ont toujours la même forme mais ils peuvent être à des endroits différents. C'est pour cela qu'il va y avoir le chemin absolu du répertoire à traiter en entrée.
    Il me parait difficile de concaténer les fichiers

  5. #5
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si vos fichiers se trouvent sur le serveur de base des données vous devez/pouvez utiliser des tables externes.
    D'autre part je me demande si votre besoin n'est pas de type événement déclencheur: une application externe dépose un fichier dans un répertoire et ça déclenche un traitement dans la base.

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    J'ai pensé aux tables externes mais comme il y a de nombreux répertoires différents avec des racines différentes, ca ne va pas être possible de créer tous les directory Oracle.

    Effectivement, ca ressemble à ca. Je peux peut-être voir du côté du déclencheur.
    je vais creuser.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2011, 09h34
  2. Appeler une procédure stockée depuis une fonction
    Par FMJ dans le forum Développement
    Réponses: 4
    Dernier message: 07/04/2009, 21h04
  3. Réponses: 3
    Dernier message: 17/01/2006, 17h12
  4. Update appelant une procédure stockées
    Par meufeu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 18h31
  5. [appeler une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 10/03/2005, 22h38

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