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 :

[C#] Lancer plusieurs commandes à la suite


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 160
    Par défaut [C#] Lancer plusieurs commandes à la suite
    Bonjour,

    Je code en C# 2.0 et j'essaie de créer par programmation une BDD SQLServer sur un serveur déjà existant. Une des méthodes consiste à se looger en admin, puis de créer sa base.

    Les commandes à taper consécutivement sont les suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Login
    osql –U sa –P password –S localhost\myinstance
    // Creation de la base
    use master
    go
    CREATE DATABASE Test
    go
    Mon souci : la classe Process requiert un nom de fichier valide, alors que les commandes osql n'ont pas ce pré requis. En gros, le code suivant génère une SqlException "Le fichier spécifié est introuvable."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    // Get the database password
    string strPassword = Context.Settings.Get(
        Constants.Settings.Name.Password,
        Constants.Settings.DefaultValue.Password);
     
    // Create a new Process instance
    Process objExecution = new Process();
     
    // Initializes the Process object
    objExecution.StartInfo = new ProcessStartInfo();
    objExecution.StartInfo.FileName = "osql";
    objExecution.StartInfo.Arguments = "–U sa –P " + strPassword + " –S " +
        strDatasource;
    objExecution.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
     
    // Launch the command
    objExecution.Start();
     
    // Initializes the Process object
    objExecution.StartInfo = new ProcessStartInfo();
    objExecution.StartInfo.FileName = "use";
    objExecution.StartInfo.Arguments = "master";
    objExecution.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
     
    // Launch the command
    objExecution.Start();
     
    // PETAGE
    Bref, rien de surprenant : "use" n'est pas un fichier valide ... Quelle est la solution à mon problème? Comment envoyer les commandes osql autrement que par Process? Merci d'avance ...

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Tu peux passer par un script sql (un fichier .sql qui contiendra les commandes que tu veux exécuter) que tu appelleras avec osql.

Discussions similaires

  1. Lancer plusieurs jobs à la suite
    Par Slyvore dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 31/05/2012, 14h42
  2. Réponses: 3
    Dernier message: 06/01/2012, 11h32
  3. Lancer plusieurs commandes DOS
    Par rom44 dans le forum Général Python
    Réponses: 5
    Dernier message: 28/06/2011, 21h21
  4. [Batch] lancer plusieurs commandes à la suite
    Par grabriel dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 12/10/2009, 12h11
  5. Lancer plusieurs command lines sur Linux
    Par jobim08 dans le forum Bioinformatique
    Réponses: 5
    Dernier message: 07/07/2008, 15h59

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