3

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();

}
4

1 に答える 1