Как отобразить данные из двух баз данных в отчете RDL? - PullRequest
1 голос
/ 09 августа 2009

Я создаю отчет, который будет принимать некоторые данные из одной базы данных (Компания и список Клиентов для каждой Компании) и некоторые данные, связанные с ним из другой базы данных (список Элементов для каждого Клиента). Кажется, что отображаемые данные могут использовать только один источник данных, а источник данных - это соединение с одной базой данных. Я немного погуглил и прочитал о вложенных отчетах и ​​попробовал это решение, но отчет не выглядит одинаково (например, у меня есть столбцы Company, Customer и Item, где вложенный отчет есть, а вложенный отчет содержит два столбца, и мне бы не понравилось они должны отображаться в одном столбце ...). Являются ли подотчеты действительно единственным способом отображения данных между базами данных?

Ответы [ 2 ]

3 голосов
/ 09 августа 2009

Да, один элемент управления отчетом (таблица, список и т. Д.) Может отображать данные только из одного набора данных. У вас есть несколько вариантов.

Вы можете ссылаться на несколько баз данных из одного набора данных, если они находятся на одном сервере или если один сервер связан с другим. Например, если у вас есть обе базы данных (company, customerdata) на одном сервере, тогда


Select co.CompanyName, cu.CustomerName, ci.CustomerItem1
From company.dbo.Companies co
      Inner Join company.dbo.Customers cu On cu.CompanyID = co.CompanyID
      Inner Join customerdata.dbo.CustomerItems ci On ci.CustomerID = cu.CostomerID

Если базы данных находятся на разных серверах, но связаны между собой, вы можете обратиться к таблицам, используя вместо этого servername.databasename.schema.tablename. В обоих случаях вам нужно убедиться, что используемый вами логин имеет соответствующие разрешения с обеих сторон.

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

0 голосов
/ 09 августа 2009

Я сделал что-то подобное, используя подотчеты в rdlc. Я не уверен, что это возможно сделать в rdl, но в rdlc каждый подотчет является отчетом со своим собственным источником данных. С уважением, Йордан

...