相关疑难解决方法(0)

如何以编程方式检查(解析)TSQL语句的有效性?

我正在努力使我的集成​​测试更具幂等性.一个想法是在每次测试后执行回滚,另一个想法是一些程序如何以编程方式解析文本,类似于查询分析器或SSMS中的绿色复选框.

如何在不使用ADO.NET运行SQL Server的情况下解析命令?

更新: 这是最终按预期工作的:

using (DbCommand executeOnly = Factory.DbCommand())
{
    executeOnly.Connection = command.Connection;
    executeOnly.CommandType = CommandType.Text;
    executeOnly.CommandText = "SET NOEXEC ON;" + sqlCommand;
    executeOnly.Connection.Open();
    executeOnly.ExecuteNonQuery();
}
//set more properties of command.
command.Execute();
Run Code Online (Sandbox Code Playgroud)

出于莫名其妙的原因," SET PARSEONLY ON"仅在查询分析器中有效.我无法在ADO.NET连接上设置它.它也是如此,因为PARSEONLY似乎只捕获语法错误,这不是一个常见的错误. SET NOEXEC ON将捕获更多种类的错误,例如引用缺少的表或列的视图或存储过程中缺少的参数.

.net c# t-sql sql-server ado.net

50
推荐指数
6
解决办法
1万
查看次数

标签 统计

.net ×1

ado.net ×1

c# ×1

sql-server ×1

t-sql ×1