public override void Execute() { ValidateParameters(); _provider = new DatabaseProvider(Helpers.GetConnectionString(_connectionStringName)); string inputQuery = File.ReadAllText(Helpers.GetRootedInputfilePath(_rootDir, _inputfilePath)); using (SqlConnection connection = _provider.Connection) { connection.Open(); string[] lines = inputQuery.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); StringBuilder sbQuery = new StringBuilder(); foreach (string line in lines) { if (IsGoSeparator(line)) { string currentQuery = sbQuery.ToString(); sbQuery = new StringBuilder(); ExecuteQuery(connection, currentQuery); } else { sbQuery.AppendLine(line); } } if (sbQuery.Length > 0) { string currentQuery = sbQuery.ToString(); ExecuteQuery(connection, currentQuery); } connection.Close(); } }
public ExecuteScriptTask(string connectionStringName, string inputfilePath) : base() { _connectionStringName = connectionStringName; _inputfilePath = inputfilePath; _provider = null; }