服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - .Net下执行sqlcmd的方法

.Net下执行sqlcmd的方法

2019-11-25 15:29MSSQL教程网 Sql Server

遇到这样一个问题:程序实现创建sqlserver 端点,添加webmethod,删除webmethod,如果直接用ado.net 的sqlhelp 实现,总是报错,后来想到了用sqlcmd

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

复制代码代码如下:


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不知能否运行?

延伸 · 阅读

精彩推荐