Парсинг кода SQL в [закрытом] C#

По-моему, вы забыли нажать «Enter» после ввода ввода. Сканер может прочитать ввод, если только вы нажмете клавишу «Ввод». Ваше решение мне кажется правильным. Я смог правильно запустить его на моем компьютере.

Подобный вопрос можно найти здесь: Как использовать сканер для приема только действительного значения int в качестве ввода

66
задан Peter Mortensen 25 August 2011 в 19:50
поделиться

5 ответов

Используйте платформу Microsoft Объекта (EF).

Это имеет "синтаксический анализатор" SQL Объекта, который создает дерево выражений,

using System.Data.EntityClient;
...
EntityConnection conn = new EntityConnection(myContext.Connection.ConnectionString);
conn.Open();
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"Select t.MyValue From MyEntities.MyTable As t";
var queryExpression = cmd.Expression;
....
conn.Close();

Или что-то как этот, проверьте его на MSDN.

И это - все на галочке Ballmers:-)

существует также один на Проекте Кода, Синтаксический анализатор SQL .

Удача.

10
ответ дан Patrick Hofman 24 November 2019 в 15:07
поделиться

Попробуйте ANTLR - существует набор грамматик SQL на там.

6
ответ дан Andrew Peters 24 November 2019 в 15:07
поделиться

Попробуйте ЗОЛОТОЙ Синтаксический анализатор , это - мощное и легкое для изучения механизма BNF. Можно искать грамматики, уже сделанные для того, что Вы хотите (т.е.: грамматика SQL ANSI 89 ).

я начал использовать это для HQL, анализирующего (язык запросов NHibernate, очень похожий на SQL), и это является потрясающим.

ОБНОВЛЕНИЕ: Теперь команда разработчиков NH сделала HQL, анализирующий использующий ANTLR (который более трудно использовать, но более мощный AFAIK).

2
ответ дан Diego Jancic 24 November 2019 в 15:07
поделиться

VSTS 2008 Database Edition GDR включает сборки, которые выполняют синтаксический анализ SQL и генерацию сценариев, на которые вы можете ссылаться из своего проекта. Database Edition использует синтаксический анализатор для анализа файлов сценариев, чтобы представить модель вашей базы данных в памяти, а затем использует генератор сценариев для генерации сценариев SQL из модели. Я думаю, что вам нужно иметь только две сборки и ссылку в вашем проекте. Если у вас нет редакции базы данных, вы можете установить пробную версию, чтобы получить сборки, или может быть другой способ получить их без установки редакции базы данных. Проверьте следующую ссылку. Чувак данных: Как добраться до короны драгоценностей .

4
ответ дан 24 November 2019 в 15:07
поделиться

Вы можете взглянуть на коммерческий компонент: general sql parser на http://www.sqlparser.com. Он поддерживает SQL синтаксис Oracle, T-SQL, DB2 и MySQL.

8
ответ дан 24 November 2019 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: