我用sql 2000企业管理器导出了一些SQL脚本,这些脚本如何放在.net里执行?

解决方案 »

  1.   

    SqlCommand cmd=new SqlCommand(sql);
    cmd.ExecureNoQuery();
      

  2.   

    下面是使用C#调用cmd来执行osql实现脚本的执行
    using System; 
    using System.Data; 
    using System.Collections; 
    using System.Xml; 
    using System.IO; 
    using System.Text; 
    using System.Diagnostics; 
    namespace ZZ 

    public class ZZConsole 

    [STAThread] 
    static void Main(string[] args) 

    string sqlQuery = "osql.exe /uSa /p123 /s192.192.132.229 /dNorthWind /i yoursql.sql"; 
    string strRst = ExeCommand(sqlQuery); 
    Console.WriteLine(strRst); 
    Console.ReadLine(); 

    public static string ExeCommand(string commandText) 

    Process p = new Process(); 
    p.StartInfo.FileName = "cmd.exe"; 
    p.StartInfo.UseShellExecute = false; 
    p.StartInfo.RedirectStandardInput = true; 
    p.StartInfo.RedirectStandardOutput = true; 
    p.StartInfo.RedirectStandardError = true; 
    p.StartInfo.CreateNoWindow = true; 
    string strOutput = null; 
    try 

    p.Start(); 
    p.StandardInput.WriteLine(commandText); 
    p.StandardInput.WriteLine("exit"); 
    strOutput = p.StandardOutput.ReadToEnd(); 
    p.WaitForExit(); 
    p.Close(); 

    catch(Exception e) 

    strOutput = e.Message; 

    return strOutput; 



    对于osql命名的参数如下: 
    ===================== 
    用法: osql [-U login id] [-P password] 
    [-S server] [-H hostname] [-E trusted connection] 
    [-d use database name] [-l login timeout] [-t query timeout] 
    [-h headers] [-s colseparator] [-w columnwidth] 
    [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] 
    [-L list servers] [-c cmdend] [-D ODBC DSN name] 
    [-q "cmdline query"] [-Q "cmdline query" and exit] 
    [-n remove numbering] [-m errorlevel] 
    [-r msgs to stderr] [-V severitylevel] 
    [-i inputfile] [-o outputfile] 
    [-p print statistics] [-b On error batch abort] 
    [-X[1] disable commands [and exit with warning]] 
    [-O use Old ISQL behavior disables the following] 
    [-? show syntax summary] 
    具体参考 
    http://www.588188.com/netbook/sqlserver2000/coprompt/cp_osql_1wxl.htm 
    或者sql server 2000帮助文档