Ошибка SQL 586 при запуске пакетных скриптов через Flyway - PullRequest
0 голосов
/ 01 июня 2018

Я выполняю несколько сценариев через миграцию flyway и получаю эту ошибку в каждом сценарииСам сценарий запускается, но следующий - нет.

The prepared statement handle 3 is not valid in this context.  
Please verify that current database, user default schema, and ANSI_NULLS and 
QUOTED_IDENTIFIER set options are not changed since the handle is prepared.

Сценарии в последний раз работали нормально, но я их пока не выполнял.Другой разработчик отлично запускает их на ноутбуке.Я проверил настройки по умолчанию для ANSI_Nulls и Quoted_Identifier на обоих ноутбуках, и они одинаковы.

Следует отметить, что все сценарии явно устанавливают для ANSI_NULLS и QUOTED_IDENTIFIER значение ON перед выполнением, а затем отключают их, например

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO
IF OBJECT_ID(N'[dbo].[CalculateActionStatus]', N'FN') IS NULL
    EXEC('CREATE FUNCTION [dbo].[CalculateActionStatus] (@Dummy int) RETURNS int AS BEGIN RETURN 1 END;')
GO

ALTER FUNCTION [dbo].[CalculateActionStatus]
       (@ActionID int)
   RETURNS int 
AS
BEGIN
       -- Action Status is basically the BIGGEST Status value of its child steps

       DECLARE @Status  int
       set @Status = 0

       select @Status = max(dbo.CalculateStepStatus(Start, Due, Completed, PercentComplete))
       from dbo.view_Step_ResolutionStep
       where ActionID = @ActionID

       RETURN isnull(@Status, 0)
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS OFF 
GO

Есть идеи?

...