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

Windows Forms Discussion :

Definir un ordre d'execution


Sujet :

Windows Forms

  1. #1
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut Definir un ordre d'execution
    Bonjour,

    je debute d'aujourd'hui en C#...
    J'explique mon pb, qui est loin d'etre simple pour moi...
    Je dois créer un .msi avec Visual Studio, sachant que ce msi doit mettre à jour tout ce qui a trait à la Business Intelligence (C'est à dire : mettre a jour mon DataWarehouse(script SQL),mettre à jour mon Cube (base de données multidimensionnelle), mes packages (servant à remplir mon DW), mettre à jour les rapports basés sur mon DW et plus qq scripts SQL pour finir...Chaque etape lance un processus particulier (sqlcmd.exe, microsoft.analysisServices.deployment.exe...)
    Donc j'ai vu qu'avec VIsual Studio je pouvais faire mon msi , en créant des actions personnalisées, lesquelles pouvaient se baser sur des classes...c'est là qu'on arrive au C#...
    Le pb dans tout ca c'est que je dois faire etape par etape, et vu ce que j'ai fait ca lance tout en meme temps.
    J'ai lu qq trucs sur les threads, mais je ne vois pas comment associer un thread à un processus (par exemple sqlcmd.exe), et avant de me lancer dans un développement avec des threads, je me suis dit qu'il devait y avoir d'autres personnes qui ont ce pb avant moi (pas forcement concernant la BI, mais qui devait executer certaines taches dans un ordre precis et faisant appel à des exe ouvrant des fenetres tierces, et devant attendre la fermeture de cette fenetre pour poursuivre l'execution du programme).

    Voici enfin ma question:
    Comment puis je faire pour que chaque tache attende que la precedente soit terminée pour qu'elle s'execute à son tour?

    j'espere avoir ete assez clair, sinon je vous remettrai d'autres explications

    Merci d'avance pour votre aide!!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Pas besoin de t'occuper des threads en effet... pour lancer un process, il faut utiliser la classe Process (cf. cette FAQ : http://faqcsharp.developpez.com/?pag...syst_procstart)
    Pour attendre la fin du processus (en supposant que tu l'aies appelé proc, comme dans la FAQ), il faut appeler la méthode WaitForExit après le Start :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        // Démarrage du processus
        proc.Start() ;
        // Attente de la fin du processus
        proc.WaitForExit();

  3. #3
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    merci pour la réponse.

    mais j'ai un petit pb, j'ai une erreur qui me dit qu'aucun processus n'est associé à cet objet au moment de l'execution de "proc.WaitForExit();"
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
                 proc.StartInfo.FileName = "\"" + arg_Chemin + "\\files\\CreateWinM9DW.sql\"";
                 proc.StartInfo.Arguments ="SQLCMD -s " + nomserveur + " -i \"" + arg_Chemin + "\\files\\CreateWinM9DW.sql\"";
                 proc.Start();
                 proc.WaitForExit();

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Tu as inversé les valeurs de Filename et Arguments. Le Filename doit contenir le nom du programme à éxecuter (sqlcmd) et ton fichier sql avec les paramètres -s, -i, etc. sont des arguments.

  5. #5
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    effectivement...
    Ca fonctionne nikel, mais ca m'amene à une autre question: Y a t'il un moyen simple de chercher un fichier spécifique sur les différents disques d'un pc?

  6. #6
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    c'est bon je suis arrivé à mes fins!!
    pour ceux que ca intéresse pour la recherche de fichiers sur les différents disque d'un pc, dites le moi je vous donnerai le code.
    merci à ceux qui se sont penchés sur mon pb.

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

Discussions similaires

  1. definir un ordre d'execution des objets talend
    Par pekre dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 30/04/2015, 16h50
  2. [M2] structure multi-modules et ordre d'execution
    Par dvicente72 dans le forum Maven
    Réponses: 11
    Dernier message: 03/06/2007, 20h41
  3. Ordre d'execution et httpRequest
    Par sourize dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2007, 10h33
  4. Réponses: 5
    Dernier message: 29/12/2005, 13h47
  5. probleme ordre d'execution de ma page asp
    Par Shosho dans le forum ASP
    Réponses: 5
    Dernier message: 10/05/2005, 14h51

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