Exemplo n.º 1
0
        private List <string> Parse(string sql)
        {
            var parser = new Microsoft.SqlServer.TransactSql.ScriptDom.TSql130Parser(false);
            IList <ParseError> errors;
            var fragment = parser.Parse(new StringReader(sql), out errors);

            if (errors != null && errors.Count > 0)
            {
                List <string> errorList = new List <string>();
                foreach (var error in errors)
                {
                    errorList.Add(error.Message);
                }
                return(errorList);
            }
            return(null);
        }
Exemplo n.º 2
0
        protected List <string> Parse(string sql)
        {
            var parser = new Microsoft.SqlServer.TransactSql.ScriptDom.TSql130Parser(false);

            ScriptErrors.Clear();
            var resultValid = true;
            IList <ParseError> errors;
            var fragment = parser.Parse(new StringReader(sql), out errors);

            if (errors != null && errors.Count > 0)
            {
                List <string> errorList = new List <string>();
                foreach (var error in errors)
                {
                    ScriptErrors.Add(new SqlScriptError()
                    {
                        ParseError = error
                    });
                }
                resultValid = false;
                return(errorList);
            }
            var tsql = fragment as Microsoft.SqlServer.TransactSql.ScriptDom.TSqlScript;

            if (tsql != null && tsql.Batches != null)
            {
                foreach (var batch in tsql.Batches)
                {
                    if (batch.Statements != null)
                    {
                        foreach (var statement in batch.Statements)
                        {
                            if (statement is UseStatement)
                            {
                                resultValid = false;
                            }
                        }
                    }
                }
            }
            IsValidScript = resultValid;
            return(null);
        }