Как вы объединяете несколько наборов результатов в SSRS?

StackOverflow https://stackoverflow.com/questions/35315

  •  09-06-2019
  •  | 
  •  

Вопрос

Как лучше всего комбинировать наборы результатов из разных источников данных в SSRS?

В моем конкретном примере мне нужно написать отчет, который извлекает данные из SQL Server и объединяет их с другим набором данных, поступающих из базы данных DB2. В конце мне нужно объединить эти отдельные наборы данных, чтобы у меня был один объединенный набор данных с данными из обоих источников, объединенными в одни и те же строки. (Как и в случае внутреннего объединения, если обе таблицы были из одной и той же базы данных SQL) Я знаю, что вы не можете сделать это "из коробки" в SSRS 2005. Меня не волнует необходимость извлекать данные во временную таблицу на моем блоке SQL, потому что пользователи должны иметь возможность запускать этот отчет по требованию, и кажется, что необходимо использовать SSIS для получения данных в таблицу по требованию будет медленно и трудно управлять несколькими пользователями, пытающимися одновременно получить доступ к отчету. Есть ли другие, более элегантные решения?

Я знаю, что упомянутое ниже решение для связанного сервера будет технически работать, однако по некоторым причинам наши администраторы баз данных просто не позволят нам использовать связанные серверы.

Я знаю, что вы можете добавить в отчет два разных набора данных, однако мне нужно объединить их. У кого-нибудь есть идеи, как лучше всего это сделать?

Это было полезно?

Решение

Мы должны были сделать нечто подобное (то есть внутреннее соединение двух источников данных с разных серверов). Я считаю, что лучший способ - написать собственное расширение данных. Это не очень сложно, и это даст вам возможность сделать это и многое другое.

Другие советы

Вы можете добавить базу данных DB2 в качестве связанного сервера в SQL Server и просто объединить две таблицы в представлении / sproc в SQL. Я сделал это, это не сложно, и вы получите данные в режиме реального времени.

Вы можете создать связанный сервер, который будет обращаться к базе данных напрямую или, если вы не хотите загружать базу данных в рабочее время, вы можете создать задание для копирования необходимых вам данных в одночасье.

SSRS 2005 позволяет вам иметь несколько наборов данных для отчета. Каждый набор данных может ссылаться на отдельный источник данных, один может быть из базы данных SQL, другой может быть источником ODBC и т. Д.

В представлении дизайнера отчетов в Visual Studio перейдите в раздел «Данные». и добавьте новые источники данных, указывающие на ваши разные базы данных. Когда вы закончите, при разработке отчета для каждого элемента вы должны явно указать, из какого набора данных поступают данные.

Если вышеприведенное не работает, вы можете написать управляемый код, см. http://msdn.microsoft.com/en-us/msdntv/cc540036.aspx для получения дополнительной полезной информации и видео.

Вы можете присоединить таблицы MSSQL и таблицы DB2 к базе данных Jet и привязать свой отчет к базе данных Jet. Я не знаю последствий однопоточной природы Jet или того, сколько работы будет делегировано вспомогательным хранилищам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top