Где опубликованный файл RDL находится?

Есть ли подвох? Да, есть - левые соединения являются формой внешнего соединения, в то время как внутренние соединения являются формой, ну, в общем, внутреннего соединения.

Вот примеры, которые показывают разницу. Начнем с базовых данных:

mysql> select * from j1;
+----+------------+
| id | thing      |
+----+------------+
|  1 | hi         |
|  2 | hello      |
|  3 | guten tag  |
|  4 | ciao       |
|  5 | buongiorno |
+----+------------+

mysql> select * from j2;
+----+-----------+
| id | thing     |
+----+-----------+
|  1 | bye       |
|  3 | tschau    |
|  4 | au revoir |
|  6 | so long   |
|  7 | tschuessi |
+----+-----------+

И здесь мы увидим разницу между внутренним соединением и левым соединением:

mysql> select * from j1 inner join j2 on j1.id = j2.id;
+----+-----------+----+-----------+
| id | thing     | id | thing     |
+----+-----------+----+-----------+
|  1 | hi        |  1 | bye       |
|  3 | guten tag |  3 | tschau    |
|  4 | ciao      |  4 | au revoir |
+----+-----------+----+-----------+

Хмм, 3 строки. 117]

mysql> select * from j1 left join j2 on j1.id = j2.id;
+----+------------+------+-----------+
| id | thing      | id   | thing     |
+----+------------+------+-----------+
|  1 | hi         |    1 | bye       |
|  2 | hello      | NULL | NULL      |
|  3 | guten tag  |    3 | tschau    |
|  4 | ciao       |    4 | au revoir |
|  5 | buongiorno | NULL | NULL      |
+----+------------+------+-----------+

Ух ты, 5 рядов! Что произошло?

Внешние объединения, такие как left join, сохраняют строки, которые не совпадают, поэтому строки с идентификаторами 2 и 5 сохраняются в запросе левого соединения. Остальные столбцы заполнены NULL.

Другими словами, левые и внутренние соединения не являются взаимозаменяемыми.

54
задан 26 May 2009 в 20:14
поделиться

2 ответа

Это не файл на сервере. Он хранится как большой двоичный объект в базе данных ReportServer.

(в таблице каталога, чтобы быть точным в SSRS 2005)

Расширенный ответ

52
ответ дан 7 November 2019 в 08:01
поделиться

На этой странице показано, как получить его с использованием T-SQL

http://mscrmuk.blogspot.com/2009/05/rading-rdl-definitions-directly-from.html

Джефф

Обновление : вот соответствующий запрос, в случае, если этот блог пост исчезает в будущем:

select convert(varchar(max), convert(varbinary(max), content))
from catalog
where content is not null
29
ответ дан 7 November 2019 в 08:01
поделиться
Другие вопросы по тегам:

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