Как откатывать транзакцию в TSQL, когда строковые данные являются усеченными?

У меня есть простое решение, которое работает для меня, не требуется изменение кода сервера ... просто добавьте tsp мускатного ореха ...

$(document).ready(function ()
{
    $(document).ajaxSend(
    function(event,request,settings)
    {
        var intercepted_success = settings.success;
        settings.success = function( a, b, c ) 
        {  
            if( request.responseText.indexOf( "<html>" ) > -1 )
                window.location = window.location;
            else
                intercepted_success( a, b, c );
        };
    });
});

Я проверяю наличие тега html, но вы может изменить indexOf для поиска любой уникальной строки на вашей странице входа ...

32
задан gbn 12 March 2009 в 15:58
поделиться

3 ответа

Если Ваш на SQL 2005 можно попробовать:

BEGIN TRANSACTION
BEGIN TRY
    --Run your Statements
    COMMIT TRANSACTION
END TRY
BEGIN CATCH
        ROLLBACK TRANSACTION
        DECLARE @Msg NVARCHAR(MAX)  
        SELECT @Msg=ERROR_MESSAGE() 
        RAISERROR('Error Occured: %s', 20, 101,@msg) WITH LOG
END CATCH
80
ответ дан 27 November 2019 в 19:55
поделиться

Я также указал бы, что при получении этой ошибки часто необходимо пересмотреть размер столбца, в который Вы вводите данные или корректируете Ваш процесс очистки для подготовления данных прежде, чем поместить его в таблицу напоминания. В SSIS у Вас могли также быть данные, которые встречают deosn't, стандартный размер переходят к таблице неправильных данных и обрабатывают остальных.

0
ответ дан 27 November 2019 в 19:55
поделиться

Как насчет того, чтобы включить xact_abort

set xact_abort on
20
ответ дан 27 November 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: