根据数据库模式解析并验证SQL查询

时间:2015-03-31 14:42:25

标签: c# sql sql-server parsing database-schema

我正在改进一个可以创建数据库的软件,您可以在其中定义实体和实体的属性,并将其转换为SQL查询以创建/更新数据库模式。

此外,可以运行某些任务,其中一个任务基于SQL查询。

这就是问题所在。因为我们允许向用户(高级用户)配置系统,所以它容易出错。为避免这种情况,我们使用Microsoft.SqlServer.Management.SqlParser.Parser.Parse()方法来解析查询。这解析语法而不运行它,它很棒。 但是我想进行下一步并对模式进行验证......但模式(有时)只能存在于我们的描述语言中,而不是物理上存在于数据库中(直到它被部署)。

我不仅要验证查询的语法,还要验证对数据库模式的查询而不进行部署。对于我的研究,SqlParser是一些元数据类。有人用吗?或者尝试以其他方式完成此任务?

1 个答案:

答案 0 :(得分:1)

作为开发人员DBA,我遇到过与您类似的挑战。我所做的是使用当前的SQL Server构建为每个开发人员创建一个VM,并使用SQL Server项目来部署每个开发人员的更改。