以下のようなSQL Serverのロック機能を使用していました
sp_getapplock
sp_releaseapplock
指定しました@LockOwner = 'Session'
ただし、毎回以下の例外をスローします。
com.microsoft.sqlserver.jdbc.SQLServerException: 現在保持されていないため、アプリケーション ロックを解放できません (データベース プリンシパル: 'dbo'、リソース: '89999')
提案やアイデアは大歓迎です!
よろしく!
CREATE PROCEDURE [SETLOCK]
@...
AS
DECLARE
@RESULT INT;
BEGIN TRANSACTION
EXEC @RESULT = sp_getapplock @...
@LockOwner = 'Session';
IF @RESULT = -3
BEGIN
ROLLBACK TRANSACTION;
END;
ELSE
BEGIN
COMMIT TRANSACTION;
END;