2009-08-09 17 views
1

私は、あるデータベース(会社と会社のすべての会社のリスト)とそれに接続されたいくつかのデータを他のデータベース(顧客ごとのリスト)から取るレポートを作成しています。表示されるデータは1つのデータソースのみを使用でき、データソースは1つのデータベースへの接続であるようです。私はいくつかのグーグルを行い、サブレポートについて読んだが、このソリューションを試したが、レポートは同じようには見えない(たとえば、サブレポートがある列、Company、CustomerおよびItem、サブレポートに2列あり、それらを1つの列に表示する...)。サブレポートは実際にはデータベース間のデータを表示する唯一の方法ですか?2つのデータベースのデータをRDLレポートに表示するにはどうすればよいですか?

答えて

3

はい1つのレポートコントロール(テーブル、リストなど)は、1つのデータセットのデータのみを表示できます。あなたにはいくつかのオプションがあります。

複数のデータベースが同じサーバー上にある場合、または1つのサーバーが他のサーバーにリンクされている場合、複数のデータベースを1つのデータセットから参照できます。あなたは、同じサーバー上の両方のデータベース(会社、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

ありがとうございます!私はその情報をどこにも見つけられていません – agnieszka

0

私はrdlcのサブレポートを使用してこのような何かをしました。私はそれがrdlで実行することが可能ですshureいないが、rdlcすべてのサブレポートは、実際にそれ自身のDataSourceとレポートです。 よろしくお願いします。 Iordan