|
|
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Отчет формируется из двух разных баз. Есть данные в одном dataset1 и в другом dataset2. Как их можно собрать(передать таблицу с одного в другой) вместе или к dataset2 добавить dataset1? Возможно ли это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2009, 18:53 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Забыл RS 2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2009, 19:10 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Увы, нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2009, 13:53 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Как вариант на одном из sql серверов поднять линкед сервер и формировать общий запрос с двух серверов .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 08:35 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
rus77, Увы, данный способ не всегда применим. Например, один датасет из БД SSAS, другой из Oracle. А MS SQL Server использовать вообще нельзя, например, из соображений безопасности. Не спорю, как воркэраунд в некоторых сценариях вполне рабочий вариант. Но в общем случае - не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 13:48 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Bigheadman, Возможно, если конфигурация разных Баз Данных будет одинаковая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 13:54 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
m.soloviev, Повторюсь. Если у вас нет возможности использовать Linked Server (например, по соображениям безопасности) или зоопарк из источников данных (Oracle, SQL Server Analysis Services, Excel), то Linked Server может и не подойти. Это частное решение, которое нельзя обобщить. Общего решения нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 21:02 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
В ХП через OPENROWSET собирать датасет из разных источников. С безопасностью должно быть все норм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 21:51 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
--__Александр__--, И еще раз. Вот не дают вам доступ к SQL Server. Т.е. вообще! Ни БД создать, ни аккаунты свои, ни т.п. Вот есть у вас источники данных (Oracle, DB2, Analysis Services и т.п.), вот к ним и обращайтесь. Ну и куда в таком случае слать запрос на OPENROWSET? Универсального решения нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2009, 22:45 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Bigheadman Это уже маразматическая ситуация. Человек, который разрабатывает отчеты на SSRS должен иметь хотя бы доступ к БД RS. RS сам по себе то не устанавливается.Ему базы нужны, агент юзать. Так что MS SQL Server должен быть по любому и доступ к базам RS и RStempDB можно спокойно попросить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 07:19 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
авторЭто уже маразматическая ситуация. Человек, который разрабатывает отчеты на 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. А я список дополню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 16:35 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Что с двумя запроами делать то? join али union? Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе. Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 17:01 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
buven, Да в общем то не суть важно. Ну пусть будет join, чтобы жизнь медом не казалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 21:20 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Можно в подотчет передовать построчно как параметр записи из одного датасета. В подотчете сделать фильтр из этих параметров (для join). у решения есть минус... второй источник будет дергать по одной записи и подочет будет запускаться для каждой строки. Тормозить начнет записях на ... 100 если не раньше. Меня давно мучал вопрос а можно ли как то объединить датасеты через VB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 21:50 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
leffМеня давно мучал вопрос а можно ли как то объединить датасеты через VB?Думаю, проще будет написать обобщенный веб-сервис, который будет принимать на вход имена дата-провайдеров, строки подключения и запросы, а на выход выдавать датасет. В отчете этот веб-сервис можно дергать как источник-данных (XML data source). Но вот с параметризованными запросами придется-таки повозиться. Уверен, подводные камни там будут. И опять-таки можем сильно просесть на производительности при больших объемах данных. leffМожно в подотчет передовать построчно как параметр записи из одного датасетаА что если мне нужно сделать join из двух датасетов и результат вывести в одной таблице, т.е. без подотчетов? А как быть в SharePoint integrated mode, где подотчеты не поддерживаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 22:20 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
Bigheadman Пишется хп, которая создает временную таблицу и инсертит туда данные из обоих источников. Так скажем ETL процесс на лету. А вообще, MS рекомендует данные для SSRS подготавливать отдельно. То есть создается витрина данных(или data marts, кому как нравится), туда льются данные, а вот уже RS смотрит уже в эту витрину. Таким образом, описанная вами задача, несколько выбивается из рекомендуемого MS подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2009, 23:38 |
|
||
|
Два dataset, собрать данные в один
|
|||
|---|---|---|---|
|
#18+
--__Александр__--, витрины данных - отлично! Но задача изначально ставилась по-другому. В предложенном вами подходе с использованием ХП для решения моей задачи вы столкнетесь со следующими подводными камнями (все-таки изложу их!): 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), которые подходят в тех или иных сценариях. Но не во всех. Выше я попытался показать это на вполне конкретных примерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2009, 01:08 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=36113922&tid=1536041]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 515ms |

| 0 / 0 |
