首页 > 代码库 > firedac odbc sql server driver连接占线导致另一个hstmt

firedac odbc sql server driver连接占线导致另一个hstmt

firedac odbc sql server driver连接占线导致另一个hstmt

出现这个错误,很可能是数据库出现了死锁。

解决方法:清理死锁。

附上MSSQL清理死锁的存储过程,出现死锁的时候执行此存储过程即可:

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 清除死锁
-- =============================================
CREATE PROCEDURE [dbo].[sp_clear_dead_lock]
AS
BEGIN
Exec dbo.sp_lock begin declare @i int--定义要清除的线程id
declare @SQL nvarchar(3000);
set @i =0; while(@i<10000) begin --清除所有的占用线程
set @SQL=N‘kill ‘+convert(varchar(20),@i)
exec sp_executesql @SQL;
set @i=@i+1; end end
end


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

firedac odbc sql server driver连接占线导致另一个hstmt