C#中的Sql Parser用于语法检查Oracle语句

时间:2010-08-03 10:47:26

标签: c# sql oracle parsing syntax

我想使用C#解析文件.sql的SQL代码。

我想要对文件sql进行确定的语法检查,特别是Insert,Update和Delete语句。

具体是否有免费的解析器可以解析C#.NET中的SQL代码?更好的是免费软件,包含源代码,易于使用。

我使用Oracle

3 个答案:

答案 0 :(得分:2)

您可以尝试使用ANTLRgrammar page上,您会发现几个与Oracle相关的语法。

无关,有没有办法只是“准备”声明而不执行?这样,您可以使用Oracle检查语法,然后在代码中捕获最终错误。这将帮助您跳过Oracle中已存在的重复功能。更不用说处理不同版本的Oracle之间的更改问题。

修改
关于代码示例的评论:我简单地使用了ANTLR,我很难在互联网上找到代码示例。我找到的主要来源是examples from ANTLR download page。现在我看到ANTLR的作者Terence Parr published new book以及随附的源代码包含更多ANTLR examples

由于您对ANTLR没有太多经验,我可以再次建议您尝试另一种方法,因为这是一个相当复杂的领域,需要大量的学习努力才能帮助您入门。至少,那是我的经历。

答案 1 :(得分:0)

General SQL Parser可以在不连接数据库的情况下执行脱机SQL语法检查。它支持Oracle,SQL Server,DB2,MySQL,MS-ACCESS,Teradata和PostGreSQL。

但它是一个商业SQL库,而不是开源。

答案 2 :(得分:0)

miniSqlParser可以解析和检查SQL语句。这是C#和开源的组合。 SQL Formatter是使用此程序集的缩进SQL的Web应用程序。请尝试。