sql >> Databasteknik >  >> RDS >> Mysql

Lexing partiell SQL i C#

Det verkar som att det finns några bra parsers där ute.

Den här SO-artikeln har ett exempel som använder MS:s Entity Framework:
Parsar SQL-kod i C#

Det verkar som att någon annan har rullat sin egen och lagt upp den på Code Project:
http ://www.codeproject.com/KB/dotnet/SQL_parser.aspx

Personligen skulle jag gå med Entity Framework-lösningen, eftersom den skapades och underhålls av MS, men den är också därför förmodligen nära kopplad till SQL Server. Eftersom du tittar på MySQL, kanske du vill gå med den anpassade lösningen på Code Project, eftersom jag är säker på att du sedan kan koda i fler anpassade lösningar som grammatiken kräver.

Jag kommer att använda det här snart (för Oracle, inte MySQL), så snälla berätta för communityn hur lösningen fungerar!

UPPDATERA :
Jag kom precis tillbaka till detta och läste kommentarerna... vid närmare eftertanke skulle jag verkligen rekommendera ANTLR, eftersom det stöder flera grammatiker. Återigen, jag har inte använt det, så det ska bli bra att höra hur det gick, och det är upp till dig att bestämma.
https://stackoverflow.com/questions/76083/parsing-sql-in-net/76151



  1. Fix Msg 8117 "Operand data type varchar är ogiltig för sumoperator" i SQL Server

  2. Tips för att flytta SQL Server-databas från en server till en annan - SQL Tutorial av Rajan Singh

  3. SQL flera kolumner i IN-sats

  4. MySQL root-lösenordsändring