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