Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Lexing częściowego SQL w C#

Wygląda na to, że istnieje kilka dobrych parserów.

Ten artykuł SO zawiera próbkę przy użyciu Entity Framework MS:
Parsowanie kodu SQL w C#

Wygląda na to, że ktoś inny stworzył własne i umieścił je w Code Project:
http ://www.codeproject.com/KB/dotnet/SQL_parser.aspx

Osobiście wybrałbym rozwiązanie Entity Framework, ponieważ zostało stworzone i utrzymywane przez MS, ale prawdopodobnie jest również ściśle powiązane z SQL Server. Ponieważ patrzysz na MySQL, możesz chcieć skorzystać z niestandardowego rozwiązania w Code Project, ponieważ jestem pewien, że możesz wtedy kodować w bardziej niestandardowych rozwiązaniach, zgodnie z wymaganiami gramatyki.

Niedługo będę z tego korzystać (dla Oracle, nie dla MySQL), więc poinformuj społeczność, jak działa rozwiązanie!

AKTUALIZUJ :
Właśnie wróciłem do tego i przeczytałem komentarze... po dalszej refleksji, naprawdę polecam ANTLR, ponieważ obsługuje wiele gramatyk. Po raz kolejny go nie używałem, więc dobrze będzie usłyszeć, jak się udało, a decyzja należy do Ciebie.
https://stackoverflow.com/questions/76083/parsing-sql-in-net/76151



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wykonać trzy sprzężenia tabel w zapytaniu UPDATE?

  2. Java:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:nie można utworzyć połączenia z serwerem bazy danych

  3. Wyszukaj wszystkie wystąpienia ciągu w bazie danych mysql

  4. Wszystkie kolumny są ustawione na tę samą wartość

  5. WSTAWIANIE wartości z jednej tabeli do innej tabeli