3
如何讓我的代碼在執行SQL腳本文件時忽略錯誤?忽略執行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();
}
謝謝。工作。 這樣一個簡單的事情,我把try-catch放在整個方法上,而不僅僅是ExecuteNonQuery部分。 – Butters