[英]Run TSQLScripts via the Web Page in c# ASP.Net
我正在尝试构建可用于在线运行TSQL脚本的网页。
我的数据库有很多数据库,我正在使用系统管理员帐户来执行这些脚本。
建立网页后,
我尝试运行以下命令,该命令非常简单,并且在SSMS中运行良好。
USE MyDB2
GO
CREATE PROCEDURE [dbo].MyProc
AS
BEGIN
INSERT INTO
dbo.Table1
(
FieldA
, FieldB
, FieldC
)
VALUES
(
'AAA'
, 'BBB'
, 'CCC'
)
END
但是我收到错误消息:
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
我的执行发布脚本的C#代码在这里:
DataTable dt = new DataTable();
try
{
using (SqlConnection cn = new SqlConnection("MyConnString"))
{
cn.Open();
SqlCommand cmd = new SqlCommand(sql, cn);
using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
if (dr.HasRows)
{
dt.Load(dr);
}
dr.Close();
}
cn.Close();
}
}
catch (Exception ex)
{
//Log Error
}
如果我删除了USE语句,就可以了,但是它在默认数据库MyDB1中创建了对象。 如何调整代码以在MyDB2中运行它?
USE
是SSMS命令,而不是SQL语句。
更改您的连接字符串以指定适当的数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.