powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005: Объединение DataSet
13 сообщений из 13, страница 1 из 1
RS2005: Объединение DataSet
    #36509200
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые эксперты, добрый день!
Помогите, пожалуйста, разобраться с DataSet в RS2005.

Есть сервер на котором крутятся 2 базы данных BD1 и BD2.
В BD1 есть таблица с полями ID, DateTime, Number...
А в BD2 - таблица с полями ID, Description...
Мне необходимо вывести отчет из базы BD1 с указанием временного интервала, в котором будет отображаться поле Number и поле Description из базы DB2.
ID в этих базах одинаковы, т.е. строке с одинаковым ID соответствует нужный Namber из базы DB1 и соответствующий ему Description из BD2.

Соответственно, для работы в одном отчете с двумя этими таблицами создаю два DataSet-а.

Но как сделать связку между этими DataSet по ID таблиц?

Когда таблицы находятся в одной базе данных, это просто, а вот когда в разных базах, что-то не пойму как сделать...

Пожскажите, плиз!!!
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509217
fgrelax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pulver,

обе базы на MSSQL?

Если на уровне Reporting Service, то можно через Navigation-subreport или javascript. Где твой id будет параметром для субрепорта.

Если ты хочешь выводить данные в одной таблице из двух баз данных, то создай линк.
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509318
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fgrelax,

да, обе базы на MSSQL.
Интересует объедингение именно на уровне Reporting Service.

т.е. на сколько я понял, с помощью различных DataSet это не реализовать. Можно реализовать только с помощью субрепорта?

Если да, то как это сделать? Что и где я должен написать? Что такое Navigation-subreport?
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509353
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fgrelax,

и что такое линк? :) И как его создавать?
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509417
fgrelax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pulver,

Чтобы получить данные из другой базы необходим линк.
И тогда твой запрос сведется к простому: [name_link].[ReportServer].dbo.[ExecutionLog]

Про subreport почитай на msdn.

Если вкратце, то создаешь еще один отчет с запросом в котором объявляешь @id.

В основном отчете правой кнопкой по полю-properties-navigation-jump to url-выбираете созданный субрепорт_отчет и привязываете через параметр.

Но, учтите, сабрепорт отображается при клике на парметр, который подставляется в сабрепорт отчет и выводит именно его.

Про линк как создавать? Server Objects- Linked Servers - New
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509494
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fgrelax,

мдя, не очень удобно что-то с сабрепортом.. Спасибо за разъяснения!

А про линк можно поподробнее? Куда именно зайти нужно, чтобы его создать?
Создание такого линка на чем может отразиться?
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509679
fgrelax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pulver,

/topic/599756&hl=openquery+mssql
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36509706
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fgrelax,

хорошо, спасибо!
Попробую разобраться...
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36510542
rus77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у тебя обе базы находятся на одном сервере , то вообще никаких проблем .Сделай процедуру и вьюшку , где будешь обращаться в одной из твоих баз к таблицам .Пример обращение из базы BD1
Код: plaintext
1.
use bd1 
select * from bd2.dbo.table2 a, table1  b where  a.id=b.id 
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36510696
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rus77,

похоже это то, что нужно!!!

А как сделать процедуру и к ней вьюшку прикрутить?

И вот этот пример к чему относится? Просто к запросу или как раз к процедуре?

Код: plaintext
1.
use bd1 
select * from bd2.dbo.table2 a, table1  b where  a.id=b.id 
[/quot]
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36511518
rus77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Примерно вот так создаешь процедуру в базе BD1[src][/SRC]
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36511539
rus77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поторопился
Примерно вот так создаешь процедуру (вьюшку не надо) в базе BD1
Код: plaintext
1.
2.
3.
4.
CREATE PROCEDURE sp_1 (@date datetime)
AS
select * from bd2.dbo.table2 a, table1  b where  a.id=b.id  and date=@date
GO
и потом эту процедуру будешь использовать в RS2005.
...
Рейтинг: 0 / 0
RS2005: Объединение DataSet
    #36512075
pulver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rus77,

спасибо за информацию!
Правдо я наоборот, сделал вьюшку (без процедуры) и все получилось!

Задал этот вопрос на форуме по Microsoft SQL Server.
Вот ссылка на ответы в нем, если интересно:

http://www.sql.ru/forum/actualthread.aspx?tid=741308
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005: Объединение DataSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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