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

Langage Perl Discussion :

Appel d'un .exe et utilisation de sql loader dans un script perl


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Appel d'un .exe et utilisation de sql loader dans un script perl
    Bonjour
    Je voudrai d'abord appeller dans mon script perl un .exe avec ses paramétres qui me retourne un fichier csv et aprés appeler sql loader dans un scipt perl avec system(commande).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my ($connection) = ("toto/tata@base");
    my ($SAExtraite) = ("titi/lolo/fichier.csv");
    my $sqlldr =("sqlldr $connection control=structureAnalytique.ctl data=$SAExtraite");
    system($sqlldr);
    mais j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'sqlldr' is not recognized as an internal or external command,
    operable program or batch file.
    Qui pourrait me guider je ne suis pas spécialiste perl.
    merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Hello,

    lorsque tu tapes le nom de ton exe en ligne de commande (fenêtre MS-Dos), se lance-t-il ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    En fait je me suis put être mal exprimé . je me mets sur le bon dossier et j'ouvre une fenêtre DOS avant d etaper ma commande voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\USERS\toto\Programs\workspace\titi\lala>lili version=189

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Pas sûr qu'on se comprenne

    Lorsque tu ouvres une fenêtre MS-Dos et que tu tapes 'sqlldr' dedans (sans les ' '), le programme se lance-t-il (je parle de ton exécutable que tu essaies d'appeler depuis ton script Perl).

    Parce que sur mon PC, si j'essaie en ligne de commande de lancer le programme 'toto' (qui n'existe pas), voici ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    C:\>toto
    'toto' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
     
    C:\>
    Ce qui me fait énormément pencher pour le fait que, soit ton exe ne s'appelle pas exactement sqlldr, soit qu'il ne peut pas être lancé à un autre endroit que dans le répertoire où il se trouve.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Si le programme se lance quand je fais cette comande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\USERS\toto\Programs\workspace\titi\lala>lili version=189
    Il ya deux choses: cette commande ci_dessus ne fait que me retourner le fichier csv que je veux traiter.

    aprés l'avoir traitée(extrait les colones que je veux), je voudrai appeller sql loader avec sa commande sqlldr pour inserer ces données en base.

    Dans mon fichier perl quand j'essaie de lancer la même commande que sur une fenêtre dos ça plante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $ENV{PATH} ='C:/USERS/ndiayeben/Programs/workspace/StructureAnalytique/cagreg';
    print $ENV{PATH};
     
     
    # lancement de la commande pour récupérer les fichiers SA
    `c_agreg struct=189`;

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

Discussions similaires

  1. SQL*Loader dans un script sh, fichier de logs
    Par miketidy dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 20/10/2008, 10h34
  2. Utilisation de SQL Loader
    Par jacky666 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 16/04/2008, 11h32
  3. utilisation de sql loader
    Par youness_ka dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 26/07/2007, 12h04
  4. Appeler sql loader dans un script perl
    Par k6971 dans le forum Langage
    Réponses: 2
    Dernier message: 19/04/2007, 14h58

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