Утро
Я читал "Проблема служб интеграции SQL Server 2008 - Дизайн - Решение". В нем описывается способ регистрации изменений переменных, которые я пытаюсь воспроизвести в SQL 2005.
- Создайте переменные, например. PackageId, Затронутые Записями. - Установите для Raise ChangeEvent значение true.
- Создайте строковую переменную g.g. стрПеременноеЗначение. - Установите Raise ChangeEvent в false.
- В обработчике события пакета: OnVariableValueChanged добавьте задачу скрипта «SCR Преобразование значения в строку».
- Добавить ReadOnlyVariables: System::VariableValue
- Добавить ReadWriteVariables: User::strVariableValue
- В скрипте задайте для локальной переменной значение System::VariableValue.value.tostring.
- Установите переменную User::strVariableValue в локальную переменную
- Добавьте компонент «Выполнение задачи SQL» «Значение переменной журнала SQL изменено», вызывающий SP без наборов результатов.
- Установите сопоставление параметров с User::PackageId, System::VariableName, User::strVariableValue.
Когда это выполняется, я получаю тупик на User::PackageID
Ошибка: 0xC001405B в значении переменной журнала SQL изменено: обнаружена взаимоблокировка при попытке заблокировать переменную «User::_PackageID» для доступа на чтение. Блокировку не удалось получить после 16 попыток, и время ожидания истекло.
Шаг сценария завершается успешно, но задача «Выполнение SQL» завершается со сбоем. Я использую Visual Studio 2005 версии 8.0.50727.42, Microsoft SQL Server Integration Services Designer версии 9.00.4035.00 и BIDSHelper версии 1.4.3.0.
Любые идеи?