コード例 #1
0
ファイル: ExecuteScriptTask.cs プロジェクト: 3agrey/pbc
        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();
            }
        }
コード例 #2
0
ファイル: ExecuteScriptTask.cs プロジェクト: 3agrey/pbc
 public ExecuteScriptTask(string connectionStringName, string inputfilePath)
     : base()
 {
     _connectionStringName = connectionStringName;
     _inputfilePath = inputfilePath;
     _provider = null;
 }