我正在寻找一种在Node.js应用程序中解析/标记SQL语句的方法,以便:
你有什么解决办法或建议吗?
链接:是否有任何Javascript/Jquery来验证SQL语句?
我做过研究,找到了一些方法:
使用现有的node.js库
我做了一个谷歌搜索,但我没有找到一个可以使用的共识和流行的库。我找到了那些:
不幸的是,这些库中没有一个是完整和可信的。
基于node.js低级令牌程序库亲自完成了该任务。
我可以用一个低级的令牌程序库来实现它,比如:
基于现有的Javascript代码美化器自己做的
CodeMirror是一个非常酷的Javascript库(浏览器端),它可以识别SQL关键字、字符串等。请检查演示。
我可以构建一个基于node.js的CodeMirror库标记器。SQL模式在github上,我可以对其进行调整,以便在节点应用程序中获取令牌。
PS:CodeMirror在github上有5046颗恒星,并且保养良好。
我发现有两个截然不同的问题:令牌化和语法验证(这与令牌化相关)。
我根据优秀的的SQL模式 ( github上的5,046颗星,维护良好)为Node.js设计了一个Node.js的SQL令牌程序。CodeMirror的SQL模式负责“通用”SQL和一些SQL特性,如MSSQL、MySQL、PL/SQL、卡桑德拉、Hive和MariaDB。
当我的项目足够成熟时,我(可能)会将它公开在GitHub上,并让您知道。
关于SQL语法验证,我还没有发现JavaScript工具(或者在JS中适应的开源项目).
发布于 2014-08-16 20:17:18
如果您想要开发自己的SQL解析器,我将推荐一个PEG设计解析器。我在编译到js/编译到c语言中使用了一个PEG解析器,它产生了一个非常清晰和容易实现的代码。检查:https://github.com/luciotato/LiteScript
您可以从LiteScript解析器开始,如果:( a)这个解析器是应用程序的一个重要部分,b)最终您将需要本机执行速度解析。
但是,如果这不是您正在开发的应用程序的一个重要部分,那么为现有的特定sql解析器做出贡献可能是最好的选择。
https://stackoverflow.com/questions/25156505
复制相似问题