【问题标题】:Check if I can execute some sql-command检查我是否可以执行一些 sql 命令
【发布时间】:2010-02-09 07:38:02
【问题描述】:

我正在使用 ADO .NET 和 MS SQL Server 2008。

我有一个到服务器的连接对象和一个命令:

SqlConnection conn = /* my connection*/;
string cmd = "some_sql_command";

我想检查 SQL Server 是否可以执行cmd。我不想执行cmd,但我想知道SQL Server是否可以执行。

cmd 可以是任何单个 SQL 语句,它不是一个过程、事务或多个命令等。

【问题讨论】:

    标签: .net tsql sql-server-2008 ado


    【解决方案1】:

    好吧,你总是可以启动一个事务,执行命令然后回滚事务,这样就不会对数据库进行任何更改。

    另一种选择是使用ServerConnection.ExecuteNonQuery 方法,当传递ParseOnly 标志时,它只解析命令而不做任何其他事情。

    【讨论】:

    • 请注意,查询分析器/管理工作室并没有真正遵守 SET PARSEONLY ON - 他们仍然执行语句。您还需要使用 SET NOEXEC ON 和/或 SET FMTONLY ON,但是这样做会失去解析器的绑定能力,因此它不会警告您有关无效的对象或列名。
    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多