利用.net(C#)执行sql脚本的简单实现

来源:互联网 发布:java eclipse怎么安装 编辑:程序博客网 时间:2024/05/17 03:34

下面是使用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语句特别注意大小写! 可用-U username 或/U username,但不能用-u username

对于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帮助文档

原创粉丝点击