遇到這樣一個(gè)問題:程序?qū)崿F(xiàn)創(chuàng)建sqlserver 端點(diǎn),添加webmethod,刪除webmethod,如果直接用ado.net 的sqlhelp 實(shí)現(xiàn),總是報(bào)錯(cuò),后來想到了用sqlcmd
如下代碼:
被的調(diào)用方法:
代碼如下:
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;
}
調(diào)用方法:
代碼如下:
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程序如果執(zhí)行的話,客戶端不安裝sqlcmd不知能否運(yùn)行?