验证有效的SQL字符串

时间:2010-01-13 05:17:29

标签: c# .net sql

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

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

3 个答案:

答案 0 :(得分:5)

如果要使用SQL Server验证SQL,可以通过添加

来实现
SET PARSEONLY ON
在脚本之前

,然后

SET PARSEONLY OFF

在您的脚本之后。


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

Here is a link我发现有人在使用这些集会。

答案 1 :(得分:0)

这个第三方组件可以很好地验证sql而无需进入服务器。 SqlParser

答案 2 :(得分:-1)

我注意到如果你声明一个新的System.Data.SqlClient.SqlConnection对象并将ConnectionString字段设置为语法无效的连接字符串,它将抛出异常,所以这将是一种检查方式。 / p>

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