Перестала работать временная таблица SSRS из предыдущего набора данных - PullRequest
0 голосов
/ 21 июня 2019

Я создаю SSRS с несколькими страницами для связанных данных.

Несколько запросов из начального набора данных помещают некоторые данные в несколько временных таблиц, которые я использую в последующих наборах данных.

Отчет работал правильно, пока некоторое время назад я не изменил один из последующих запросов, чтобы использовать параметр отчета для даты вместо его создания в запросе.

Теперь я неожиданно получаю сообщения об отсутствии временных таблиц.

Ошибка выполнения запроса для набора данных 'MEMBER_DATA'.

Неверное имя объекта '#VENDORS'.

Я пытался отменить изменения, но все равно выдает ошибку (WTF?!?!). Я получаю сообщение об ошибке в диспетчере отчетов и Visual Studio.

Поле «Использовать одну транзакцию» по-прежнему проверяется для единственного источника данных. Я проверил с администраторами баз данных, и они ничего не сделали с нашим сервером TEST сегодня.

Как я могу заставить временные таблицы с несколькими наборами данных работать снова?

1 Ответ

0 голосов
/ 21 июня 2019

Как вы создаете временную таблицу?CREATE TABLE #VENDORS ...?

Локальные временные таблицы удаляются при закрытии соединения, которое их создало.Они видны только их создателям в том же соединении, которое использовалось для создания таблиц.Обычно это означает, что создание временной таблицы внутри хранимой процедуры и попытка доступа к ней вне хранимой процедуры не будут работать.Локальные временные таблицы удаляются после отключения пользователя.Даже если вы отметили «Использовать одну транзакцию» для источника данных, похоже, что соединение закрывается до того, как наборы данных смогут прочитать временную таблицу или хранимая процедура выполняется под другим соединением или пользователем.

Вы можете попробовать создать его как глобальную временную таблицу: CREATE TABLE ##VENDORS ....Глобальные временные таблицы видны любому пользователю и любому соединению после их создания и удаляются, когда все пользователи, ссылающиеся на таблицу, отключаются.Это может держать стол в живых достаточно долго, чтобы читатели могли их прочитать.

Обратите внимание, что это делает временную таблицу доступной для всех пользователей, что может быть нежелательно.

...