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

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

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

Универсального решения нет.
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36112416
--__Александр__--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bigheadman
Это уже маразматическая ситуация. Человек, который разрабатывает отчеты на SSRS должен иметь хотя бы доступ к БД RS. RS сам по себе то не устанавливается.Ему базы нужны, агент юзать. Так что MS SQL Server должен быть по любому и доступ к базам RS и RStempDB можно спокойно попросить.
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36113922
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто уже маразматическая ситуация. Человек, который разрабатывает отчеты на 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
Два dataset, собрать данные в один
    #36114013
buven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что с двумя запроами делать то?
join али union?
Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36114460
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buven,
Да в общем то не суть важно. Ну пусть будет join, чтобы жизнь медом не казалась.
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36114481
leff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно в подотчет передовать построчно как параметр записи из одного датасета. В подотчете сделать фильтр из этих параметров (для join).
у решения есть минус... второй источник будет дергать по одной записи и подочет будет запускаться для каждой строки. Тормозить начнет записях на ... 100 если не раньше.

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

leffМожно в подотчет передовать построчно как параметр записи из одного датасетаА что если мне нужно сделать join из двух датасетов и результат вывести в одной таблице, т.е. без подотчетов? А как быть в SharePoint integrated mode, где подотчеты не поддерживаются?
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36114559
--__Александр__--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bigheadman
Пишется хп, которая создает временную таблицу и инсертит туда данные из обоих источников.
Так скажем ETL процесс на лету.
А вообще, MS рекомендует данные для SSRS подготавливать отдельно.
То есть создается витрина данных(или data marts, кому как нравится), туда льются данные, а вот уже RS смотрит уже в эту витрину.
Таким образом, описанная вами задача, несколько выбивается из рекомендуемого MS подхода.
...
Рейтинг: 0 / 0
Два dataset, собрать данные в один
    #36114600
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--__Александр__--,
витрины данных - отлично! Но задача изначально ставилась по-другому.
В предложенном вами подходе с использованием ХП для решения моей задачи вы столкнетесь со следующими подводными камнями (все-таки изложу их!):
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
17 сообщений из 17, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Два dataset, собрать данные в один
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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