我想使用C#解析文件.sql的SQL代码。C#中的Sql解析器用于语法检查Oracle语句
我想确定一个文件sql语法检查,特别是插入,更新和删除语句。
特别是有没有免费的解析器可以解析C#.NET中的SQL代码?更好的是免费软件,包含源代码,并且易于使用。
我使用Oracle
我想使用C#解析文件.sql的SQL代码。C#中的Sql解析器用于语法检查Oracle语句
我想确定一个文件sql语法检查,特别是插入,更新和删除语句。
特别是有没有免费的解析器可以解析C#.NET中的SQL代码?更好的是免费软件,包含源代码,并且易于使用。
我使用Oracle
您可以ANTLR尝试。
在grammar page你会发现几种与Oracle有关的语法。
无关,有没有办法只是“准备”没有执行语句?这样你可以让Oracle检查语法,然后在代码中捕获最终的错误。这将帮助您跳过Oracle中已存在的重复功能。更不用说在不同版本的Oracle之间处理更改的问题了。
编辑:
有关代码示例回复评论:我用ANTLR简单,我有很难互联网上找到的代码示例。我发现的主要来源是examples from ANTLR download page。现在我看到ANTLR的作者Terence Parr,published new book以及随附源代码包含更多ANTLR examples。
由于您对ANTLR没有多少经验,我可能再次建议您尝试另一种方法,因为这是一个相当复杂的领域,需要相当大的学习努力才能开始。至少,那是我的经历。
General SQL Parser可以在不连接数据库的情况下执行脱机SQL语法检查。它支持Oracle,SQL Server,DB2,MySQL,MS-ACCESS,Teradata和PostGreSQL。
但它是一个商业SQL库,而不是开源的。
您是否希望在*它传递给Oracle执行之前验证SQL *? – Lazarus 2010-08-03 10:50:20
我该怎么做呢?无论如何,我的应用程序的requeriments是验证SQL没有执行。只有我需要用sql文件和“PARSER”。 – Kiquenet 2010-08-04 08:15:35