AV при получении значения поля с типом rowversion(timestamp)
Добавлено: Чт 05 дек 2013 09:58
Здравствуйте,
К сожалению сделать демонстрационный пример отдельно от разрабатываемого ПО не получается, но ошибка возникает стабильно.
Есть процедура которая возвращает набор данных из одной строки с полями result(тип int) и new_row_version(тип rowversion), процедура отрабатывает нормально, значение поля result читается нормально, при получении значения поля new_row_version получаем AV, при чём если повторить выполнение процедура через несколько секунд то всё работает нормально.
В общем при каких условиях воспроизводиться ошибка у меня:
1. Сервер Windows Server 2012 x64 виртуалка (что интересно на x32 Windows 7 всё работает нормально), SQL Server 2012, нативный клиент 2012.
2. Процедура на входе получает rowversion старой записи, выполняет поиск записи и если запись существует выполняет обновление, если нет вставку и возвращает rowversion обновлённой или вставленной записи. Если происходит вставка то ошибка не воспроизводиться.
3. Если после получения ошибки откатить транзакцию и повторить операцию, то всё нормально работает.
Текст процедуры могу выслать он не большой.
К сожалению сделать демонстрационный пример отдельно от разрабатываемого ПО не получается, но ошибка возникает стабильно.
Есть процедура которая возвращает набор данных из одной строки с полями result(тип int) и new_row_version(тип rowversion), процедура отрабатывает нормально, значение поля result читается нормально, при получении значения поля new_row_version получаем AV, при чём если повторить выполнение процедура через несколько секунд то всё работает нормально.
В общем при каких условиях воспроизводиться ошибка у меня:
1. Сервер Windows Server 2012 x64 виртуалка (что интересно на x32 Windows 7 всё работает нормально), SQL Server 2012, нативный клиент 2012.
2. Процедура на входе получает rowversion старой записи, выполняет поиск записи и если запись существует выполняет обновление, если нет вставку и возвращает rowversion обновлённой или вставленной записи. Если происходит вставка то ошибка не воспроизводиться.
3. Если после получения ошибки откатить транзакцию и повторить операцию, то всё нормально работает.
Текст процедуры могу выслать он не большой.