validation有效的SQL字符串

是否有一种方法(或现有的库,不一定是内置于.NET中)在C#中执行简单的SQL字符串validation?

场景:构建更新语句以减少SQL负载与单个语句的负载。 如果字符串构建执行“奇怪”的操作,例如以逗号结尾,我希望能够validation字符串是否正确。

如果要使用SQL ServervalidationSQL,可以通过添加来实现

SET PARSEONLY ON 

在你的脚本之前,然后

 SET PARSEONLY OFF 

在你的脚本之后。


如果您需要避免进入数据库,那么也许您可以使用Microsoft Visual Studio Team System 2008数据库版GDR包含的程序集(它们具有处理SQL解析和脚本生成的代码)。 如果您没有数据库版本或团队套件,则可以下载试用版以获取程序集。

这是我发现有人使用这些程序集的链接 。

这个第三方组件在不进入服务器的情况下很好地validation了sql。 SqlParser

我注意到,如果您声明一个新的System.Data.SqlClient.SqlConnection对象并将ConnectionString字段设置为语法无效的连接字符串,它将抛出exception,因此这将是一种检查方式。

 System.Data.SqlClient.SqlConnection foo = new System.Data.SqlClient.SqlConnection(); foo.ConnectionString = "not a valid connection string"; //exception thrown here