Я пытаюсь использовать метод TSql100Parser.ParseStatementList для программного анализа операторов SQL и извлечения имен объектов. Это из пространства имен Microsoft.Data.Schema.ScriptDom.Sql. Вот код:
string sql = "CREATE VIEW testView AS SELECT * from testTable";
var parser = new TSql100Parser(false);
StatementList parsedStatements; IList errrors;
using (TextReader reader = new StringReader(sql))
{
parsedStatements = parser.ParseStatementList(reader, out errors);
}
Метод ParseStatementList возвращает значение NULL и вставляет две ошибки в список ошибок. Это ошибки «Недопустимый синтаксис рядом с CREATE» и «Недопустимый синтаксис рядом с VIEW». Это странно, потому что тот же оператор sql успешно проанализирован методом TSql100.Parse. Также странно, что приведенный выше код успешно анализирует SQL «DROP VIEW testView»
Любые идеи, почему он не будет анализировать мое представление создание sql? Спасибо!