probleme retour sql c#

probleme retour sql c# - C#/.NET managed - Programmation

Marsh Posté le 09-07-2004 à 11:23:27    

salut a tous!
 
je fais un prog (je débute) qui doit éxécuter des commandes dos a travers sql serveur (grace a exec master xp_cmdshell)
je dois récupérer le retour de chaque commande comme dans l'analyseur de requêtes...
par exemple master..xp_cmdshell 'cmd' me retourne :
 
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
NULL
C:\WINNT\system32>
 
mais je n'arrive pas a récuperer les données dans mon prog .. qq un a une idée ?
 
 
 
 
OleDbConnection myConnection = new OleDbConnection();
    myConnection.ConnectionString = "Provider=SQLOLEDB;user id=sa;password=xxxxxxxxx;data source=192.168.0.180;Connect Timeout=30";
    myConnection.Open();
    string cn = "exec master..xp_cmdshell \'cmd\' ";
       
 
    OleDbCommand cmd = new OleDbCommand(cn,myConnection);
    cmd.CommandTimeout = 20;
    System.Data.OleDb.OleDbDataReader dreader;
     
    //cmd.CommandType = CommandType.StoredProcedure;
   
    dreader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    string s = "";
    while (dreader.Read())
    {
     s += dreader.ToString();
     
    }
     
    dreader.Close();
 

Reply

Marsh Posté le 09-07-2004 à 11:23:27   

Reply

Marsh Posté le 14-07-2004 à 13:31:25    

up!

Reply

Marsh Posté le 14-07-2004 à 18:06:28    

T'as fait un bloc try-catch pour mater l'origine de l'erreur ?

Reply

Marsh Posté le 15-07-2004 à 11:11:17    

ben en fait y a pas d'erreur.. ca marche surement
mais le pb c'est que j'aimerai visualiser le retour.
par exemple afficher dans mon textfield:
 
Microsoft Windows 2000 [Version 5.00.2195]  
(C) Copyright 1985-2000 Microsoft Corp.  
NULL  
C:\WINNT\system32>  
 
 
si je fais un "cmd"
 
et je sais pas comment faire..

Reply

Marsh Posté le 27-07-2004 à 12:47:43    

g fini par trouver :
 
ds = new DataSet();
    oleDbDataAdapter1.Fill(ds);
    foreach (DataRow dr in ds.Tables[0].Rows)
    {
     Console.WriteLine(dr[0].ToString());
    }
 
 
je rempli un dataset, et pour chaque ligne, je prend par défaut tables[0].rows
 
j'avais peur que ca soit différent d'un requête normal mais ca marche très bien ;)


---------------
tout ceux qui ne sont pas d'accord avec moi sont au choix: nazis, facho, reac, antsisémites, xénophobe, raciste!! ceux derrière moi sont potentiellement pédé..
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed