Sql server 在数据库级别设置NOCOUNT?
对于特定的数据库,是否可以将NOCOUNT默认设置为OFF 我需要它用于NHibernate(如果它处于启用状态,则在保存时会出现异常)。我可以看到在整个服务器上禁用它的设置(在它被设置的位置),但是我们正在与其他数据库共享服务器。是否有一种方法可以仅为我的数据库将其设置为关闭 或者是否有一个NHibernate设置可以为我做到这一点?(我已经用一个自定义的DriverConnectionProvider解决了这个问题,它在创建连接时发出命令。工作正常,但感觉有点尴尬) 顺便说一句,我正在使用SQLServer2000 谢谢Sql server 在数据库级别设置NOCOUNT?,sql-server,nhibernate,sql-server-2000,Sql Server,Nhibernate,Sql Server 2000,对于特定的数据库,是否可以将NOCOUNT默认设置为OFF 我需要它用于NHibernate(如果它处于启用状态,则在保存时会出现异常)。我可以看到在整个服务器上禁用它的设置(在它被设置的位置),但是我们正在与其他数据库共享服务器。是否有一种方法可以仅为我的数据库将其设置为关闭 或者是否有一个NHibernate设置可以为我做到这一点?(我已经用一个自定义的DriverConnectionProvider解决了这个问题,它在创建连接时发出命令。工作正常,但感觉有点尴尬) 顺便说一句,我正在使用S
Matt否,没有针对
设置NOCOUNT
的数据库范围的设置
同样的问题:您可以使用NH
IInterceptor
接口的OnPrepareStatement
方法修改NH生成的SQL语句,以便在应用程序发出的每个SQL查询的顶部包含一个“set nocount off”语句
他认为这样做是“邪恶的”,但这可能是你的答案。该链接将带您进入他博客上的页面,介绍如何实现它
我对这样做的保留意见是,您将对运行在数据库服务器上的应用程序创建一个依赖项,该数据库服务器可以理解“set nocount off”,换句话说,您将忽略配置的方言。set nocount设置在DB级别。分别逐个执行以下查询。这是一个更好的主意
SET NOCOUNT ON
Update Users set FirstName='XXXX' where Id='YYYY';
***命令已成功完成
***(1行受影响)
您还可以从SSMS设置数据库的nocount属性ON/OFF。请在下面找到
SET NOCOUNT OFF
Update Users set FirstName='XXXX' where Id='YYYY';