.Net下执行sqlcmd的方法

时间:2021-12-10 23:17:37

如下代码: 
被的调用方法: 

复制代码代码如下:


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; 


调用方法: 

复制代码代码如下:


protected void Button1_Click(object sender, EventArgs e) 

string sqlQuery = "sqlcmd.exe -U sa -P 123 -S 20100330-0922 -d test -i c:\\1.sql"; 
string strRst = ExeCommand(sqlQuery); 


1.sql文件 

复制代码代码如下:


use master 
go 
CREATE ENDPOINT Orders_Endpoint6 
state=started 
as http( 
path='/sql/orders6', 
AUTHENTICATION=(INTEGRATED), 
ports=(clear) 

for soap( 
WebMethod 'CustOrdersOrders'( 
name='test.dbo.GetAlltb12' 
), 
wsdl=default, 
database='test', 
namespace='http://mysite.org/' 


BS程序如果执行的话,客户端不安装sqlcmd不知能否运行?