如何让我的代码在执行 SQL 脚本文件时忽略错误?
如果执行 sql 脚本文件时出现错误,那么我希望这个方法忽略它并继续运行 sql 脚本文件。目前,如果我将 try-catch 块放入此方法中,则会将错误作为异常捕获,并且在捕获错误后停止 SQL 脚本文件的执行。即使 SQL Server 出现错误,我也希望继续执行。
我怎样才能做到这一点?
我的代码如下。
private void RunSQLScript()
{
// file is already defined as a SQL Script file
string script = file.OpenText().ReadToEnd();
SqlConnection conn = new SqlConnection(ConnectionString);
// split script on GO command
IEnumerable<string> commandStrings = Regex.Split(script, @"^\s*GO\s*$", RegexOptions.Multiline | RegexOptions.IgnoreCase);
conn.Open();
foreach (string commandString in commandStrings)
{
if (commandString.Trim() != "")
{
new SqlCommand(commandString, conn).ExecuteNonQuery();
}
}
conn.Close();
}