Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Два dataset, собрать данные в один / 17 сообщений из 17, страница 1 из 1
24.07.2009, 18:53
    #36108670
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Отчет формируется из двух разных баз.
Есть данные в одном dataset1 и в другом dataset2.
Как их можно собрать(передать таблицу с одного в другой) вместе или к dataset2 добавить dataset1?
Возможно ли это сделать?
...
Рейтинг: 0 / 0
24.07.2009, 19:10
    #36108692
32sasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Забыл RS 2005
...
Рейтинг: 0 / 0
25.07.2009, 13:53
    #36109128
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Увы, нельзя.
...
Рейтинг: 0 / 0
27.07.2009, 08:35
    #36109981
rus77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Как вариант на одном из sql серверов поднять линкед сервер и формировать общий запрос с двух серверов ....
...
Рейтинг: 0 / 0
27.07.2009, 13:48
    #36110864
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
rus77,
Увы, данный способ не всегда применим. Например, один датасет из БД SSAS, другой из Oracle. А MS SQL Server использовать вообще нельзя, например, из соображений безопасности.

Не спорю, как воркэраунд в некоторых сценариях вполне рабочий вариант. Но в общем случае - не подходит.
...
Рейтинг: 0 / 0
27.07.2009, 13:54
    #36110880
m.soloviev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Bigheadman,

Возможно, если конфигурация разных Баз Данных будет одинаковая.
...
Рейтинг: 0 / 0
27.07.2009, 21:02
    #36112065
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
m.soloviev,
Повторюсь. Если у вас нет возможности использовать Linked Server (например, по соображениям безопасности) или зоопарк из источников данных (Oracle, SQL Server Analysis Services, Excel), то Linked Server может и не подойти.
Это частное решение, которое нельзя обобщить. Общего решения нет.
...
Рейтинг: 0 / 0
27.07.2009, 21:51
    #36112145
--__Александр__--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
В ХП через OPENROWSET собирать датасет из разных источников.
С безопасностью должно быть все норм.
...
Рейтинг: 0 / 0
27.07.2009, 22:45
    #36112199
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
--__Александр__--,
И еще раз. Вот не дают вам доступ к SQL Server. Т.е. вообще! Ни БД создать, ни аккаунты свои, ни т.п.
Вот есть у вас источники данных (Oracle, DB2, Analysis Services и т.п.), вот к ним и обращайтесь.
Ну и куда в таком случае слать запрос на OPENROWSET?

Универсального решения нет.
...
Рейтинг: 0 / 0
28.07.2009, 07:19
    #36112416
--__Александр__--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Bigheadman
Это уже маразматическая ситуация. Человек, который разрабатывает отчеты на SSRS должен иметь хотя бы доступ к БД RS. RS сам по себе то не устанавливается.Ему базы нужны, агент юзать. Так что MS SQL Server должен быть по любому и доступ к базам RS и RStempDB можно спокойно попросить.
...
Рейтинг: 0 / 0
28.07.2009, 16:35
    #36113922
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
авторЭто уже маразматическая ситуация. Человек, который разрабатывает отчеты на SSRS должен иметь хотя бы доступ к БД RS. RS сам по себе то не устанавливается.Ему базы нужны, агент юзать. Так что MS SQL Server должен быть по любому и доступ к базам RS и RStempDB можно спокойно попросить.ИМХО залезать в чужие БД... как бы помягче сказать... в общем это очень неправильно. MS на каждом углу говорит - не залезайте в служебные БД!
А если уж залезли - то целиком и полностью на ваш страх и риск и под вашу ответственность.

Еще раз повторю! Linked Server/OPENROWSET - это не универсальное решение. Есть сценарии где оно либо неудобно/громоздко, либо неприменимо вообще.

Вот вам пример казалось бы простой задачи.
Необходимо склеить результаты двух запросов. Один запрос к Oracle DB. Второй - к SQL Server Analysis Services 2005/2008. Оба запроса должны содержать одинаковый параметр - дату.
Linked Server/OPENROWSET разрешены.

Предлагаю обозначить какие здесь будут подводные камни, если решать задачу с помощью Linked Server. А я список дополню.
...
Рейтинг: 0 / 0
28.07.2009, 17:01
    #36114013
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Что с двумя запроами делать то?
join али union?
Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
28.07.2009, 21:20
    #36114460
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
buven,
Да в общем то не суть важно. Ну пусть будет join, чтобы жизнь медом не казалась.
...
Рейтинг: 0 / 0
28.07.2009, 21:50
    #36114481
leff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Можно в подотчет передовать построчно как параметр записи из одного датасета. В подотчете сделать фильтр из этих параметров (для join).
у решения есть минус... второй источник будет дергать по одной записи и подочет будет запускаться для каждой строки. Тормозить начнет записях на ... 100 если не раньше.

Меня давно мучал вопрос а можно ли как то объединить датасеты через VB?
...
Рейтинг: 0 / 0
28.07.2009, 22:20
    #36114511
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
leffМеня давно мучал вопрос а можно ли как то объединить датасеты через VB?Думаю, проще будет написать обобщенный веб-сервис, который будет принимать на вход имена дата-провайдеров, строки подключения и запросы, а на выход выдавать датасет. В отчете этот веб-сервис можно дергать как источник-данных (XML data source).
Но вот с параметризованными запросами придется-таки повозиться. Уверен, подводные камни там будут.
И опять-таки можем сильно просесть на производительности при больших объемах данных.

leffМожно в подотчет передовать построчно как параметр записи из одного датасетаА что если мне нужно сделать join из двух датасетов и результат вывести в одной таблице, т.е. без подотчетов? А как быть в SharePoint integrated mode, где подотчеты не поддерживаются?
...
Рейтинг: 0 / 0
28.07.2009, 23:38
    #36114559
--__Александр__--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
Bigheadman
Пишется хп, которая создает временную таблицу и инсертит туда данные из обоих источников.
Так скажем ETL процесс на лету.
А вообще, MS рекомендует данные для SSRS подготавливать отдельно.
То есть создается витрина данных(или data marts, кому как нравится), туда льются данные, а вот уже RS смотрит уже в эту витрину.
Таким образом, описанная вами задача, несколько выбивается из рекомендуемого MS подхода.
...
Рейтинг: 0 / 0
29.07.2009, 01:08
    #36114600
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два dataset, собрать данные в один
--__Александр__--,
витрины данных - отлично! Но задача изначально ставилась по-другому.
В предложенном вами подходе с использованием ХП для решения моей задачи вы столкнетесь со следующими подводными камнями (все-таки изложу их!):
1) названия колонок, возвращаемые MDX-запросом через OPENROWSET весьма специфичны, придется аккуратно прописывать алиасы
2) OPENQUERY/OPENROWSET не поддерживают параметризацию запросов, вам придется строить строку запроса на основе значений параметров заранее
3) Строка запроса для OPENQUERY/OPENROWSET не может превышать 8кб. С учетом п.2 и MDX-запросов этот лимит достигается на раз-два.
4) Oracle использует для параметров формат :ParamName. SQL Server использует @ParamName. Опять же придется учесть. Другие СУБД могут использовать другой формат.
5) Если вам потребуется Windows-аутентификация во внешних источниках данных (расположенных на других серверах!), то придется настроить делегирование (Kerberos). А в случае источника данных Analysis Services у вас выбора нет, т.к. там только Windows-аутентификация.

Давайте я еще раз более четко обозначу свою позицию. Для вопроса, поставленного автором топика, увы, нет универсального решения. Есть различные обходные пути (workarounds), которые подходят в тех или иных сценариях. Но не во всех.
Выше я попытался показать это на вполне конкретных примерах.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Два dataset, собрать данные в один / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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