C#中是否存在执行简单SQL字符串验证的方法(或现有库,不一定内置于.NET中)?
场景:构建更新语句以减少SQL加载与单个语句的负载。如果字符串构建执行“奇怪”的操作,例如以逗号结尾,我希望能够验证字符串是否正确。
答案 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