Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Временные таблицы и Reporting Service / 4 сообщений из 4, страница 1 из 1
03.02.2006, 10:19
    #33521031
Sirios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы и Reporting Service
Доброе время суток!
Я разрабатывал отчеты с Cristal Reports 10. Всегда следовал следующему принципу: создавал полноценный запрос в Query Analiser и в конце вставлял его в Command "кристал репорта". Запросы всегда многоуровневые, вложенные иногда тянутся с 3 баз и без промежуточнока кеширования во временные таблицы может голова кругом пойти.
Сейчас стоит задача развернуть WEB сервер отчетов на Reporting Service. Но при ручном экспорте Command из (CR) в Query (RS) оказалось что в построении запроса нельзя использовать временные таблицы - выдаются ощибки о том что временные таблицы не существуют.
Что можно посоветовать в данной ситуации? Может есть выход из этого положения.
P.S. Использование системных таблиц (##t1) не пробовал. Такое ощущение что теряется связка временных таблиц с текущим соединением среды разработки и они пропадают.
...
Рейтинг: 0 / 0
03.02.2006, 23:39
    #33523276
LevS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы и Reporting Service
Запросы приходится слегка модифицировать после QA.

Вот пример реального запроса:

IF (OBJECT_ID('#temp') IS NOT NULL)
DROP TABLE #temp

SELECT <fields>
into #temp
FROM <много разных Joins>

select tr.*,d.Status, v.Command from #temp tr
where TR.End_Time =
(SELECT MAX(TR1.End_Time) FROM #temp TR1 WHERE TR1.Id = TR.Id)
AND Pass = 0
ORDER BY Id
---
This posting is provided "AS IS" with no warranties, and confers no rights.
...
Рейтинг: 0 / 0
06.02.2006, 09:32
    #33524908
Sirios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы и Reporting Service
Дело в том что временные таблицы теряются уже на 2-ом этапе выборки из них: вот упрощенная модель моего запроса в QA.

select * into #t1 from ...
select * into #t2 from ...
select * into #t3 from ...

select * from #t1 --иногда выполняется, иногда говорит invalid object #t1 - т.е. на момент выполнения уже ее не существует.

-- на следующие строки уже стабильно выдается ошибка что таких объектов нет #t2 и #t3

select #t2.*, #t3.* from #t2 inner join #t3 on ...

Как я понял временные таблицы (не глобальные объекты) привязаны к конкретному соединению. Как только соединение закрывается, все временные таблицы созданные в нем стираются. Такое чувство что в RS 2005 соединение либо не стабильно либо используется многопоточное - мультисоединение и эти потоки не видят временные таблицы из соседних потоков. - Это всего лишь догадки. Кто знает что там вообще происходит???

Использую MS SQL 2005 full, Reporting Services 2005.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
28.05.2007, 15:01
    #34555410
qwerty666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы и Reporting Service
Нужно временные таблицы заменить переменными:
create @table table
(
..........
)
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Временные таблицы и Reporting Service / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]