日期:2014-05-16  浏览次数:20516 次

.net 根据sql文件的脚本生成存储过程问题
通过后缀为.sql文件里面的脚本生成存储过程,先说下,里面的脚本是没问题的这个可以不考虑。
string FilePath = Server.MapPath("/App_Data/SQLServerCC.sql");//存储过程脚本
string Content = File.ReadAllText(FilePath);
 cmd.CommandText = Content.;
 cmd.ExecuteNonQuery();
我是这样的方式去执行sql文件里面脚本,如果sql文件里面的只有单个创建存储过程的脚本,是能成功创建的。问题来了,如果是多个存储过程,那么多个存储过程的创建脚本放一起就有问题,报错是说语法错误。
 有个笨办法就是,多个存储过程,就用多个sql文件。这样问题是能解决但不科学啊,有没有其他方式能解决的,小弟请教了~
------解决方案--------------------
用 Microsoft.SqlServer.Smo

string connectionString, scriptText;
SqlConnection sqlConnection = new SqlConnection(connectionString);
ServerConnection svrConnection = new ServerConnection(sqlConnection);
Server server = new Server(svrConnection);
server.ConnectionContext.ExecuteNonQuery(scriptText);