Multiple arguments en process start info

Messages postés
21
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
13 juin 2011
- - Dernière réponse : archaj
Messages postés
21
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
13 juin 2011
- 31 mars 2011 à 16:21
bonjour,

je travaille un projet de fin d'étude sur l'administration Oracle en c# via visual studio 2008.
je compte faire un export de tables ,pour cela j'appelle un 'process start info' qui fait appelle à sqlplus.exe.
je veut lui entrer deux commandes,afin qu'elles soit exécutés une aprés l'autre.
voici la premiere commande:
system/orcl ;

la deuxiemme commande:
$&exp system/orcl file=D:\\export2.dmp tables=user2.t2 query=" ' ' " ;

voice le code que j'exécuté pour entrer une seule commande:

string cd2="system/orcl";
string exepath = Environment.GetCommandLineArgs()[0];
string exedir = exepath.Substring(0, exepath.LastIndexOf('\\'));
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "E:\\oracle\\product\\10.1.0\\Db_2\\BIN\\sqlplus.EXE";
//proc est un process start info
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.Arguments = cd2;
proc.Start();
proc.Close();



,mais je compte entrer en argument deux commande que je ne sait pas comment?
puvez vous m'aider
Afficher la suite 

4 réponses

Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
Si peu de code et tellement de maladresses ...

proc.Start();
proc.Close();

quel interet de le refermer tout de suite


exedir ne te sert à rien ?
exePath non plus...


code nettoyé:
            ProcessStartInfo psi = new ProcessStartInfo();
            psi.FileName = @"E:\oracle\product\10.1.0\Db_2\BIN\sqlplus.exe";
            psi.CreateNoWindow = true;
            psi.Arguments = @"$&exp system/orcl file=D:\export2.dmp tables=user2.t2 query=' '";
            Process.Start(psi).WaitForExit();


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
21
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
13 juin 2011
0
Merci
bonjour,
Merci pour ta repnse Renfield,

j'ai testé le code nettoyé mais ca ne marche pas il considere l'espace dans la command d'export comme un fichier exp.sql unaable to open.
mon but est d'entrer la deuxiemme commande sans utiliser un fichier sql ou text.

merci d'avance.
Commenter la réponse de archaj
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
c'est pas vraiment lié a C#, mais bien au processus ciblé...

le doc n'en dit rien ?



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
21
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
13 juin 2011
0
Merci
est il possible d'entrer deux commandes sql en argument pour le processus qui fait appel à sqlplus.exe?
Commenter la réponse de archaj