如何在RDL报告中显示两个数据库的数据?
我正在创建一个报告,该报告将从一个数据库(每个公司的公司和客户列表)获取一些数据,并从其他数据库(每个客户的项目列表)连接到它的一些数据。 看起来显示的数据只能使用一个DataSource,而一个DataSource就是一个数据库的连接。 我做了一些谷歌搜索并阅读了有关子报告的信息,我尝试了这个解决方案,但报告看起来不一样(例如,我有公司、客户和项目列,子报告在其中,子报告包含两列,我不喜欢它们显示在一列中...)。 子报表真的是显示跨数据库数据的唯一方法吗?
I'm creating a report that will take some data from one database (Company and list of Customer for every Company) and some data connected to it from other database (list of Item for every Customer). It seems that displayed data can only use one DataSource and that a DataSource is a connection to one database. I did some googling and read about subreports and I tried this solution but the report doesn't look the same (for example I have columns Company, Customer and Item, where the subreport is, and subreport contains two columns and I wouldn't like them to be displayed in one column...). Are subreports really only way to display cross-databases data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,单个报表控件(表格、列表等)只能显示一个数据集中的数据。 不过,您确实有几个选择。
如果多个数据库位于同一服务器上或者一台服务器链接到另一台服务器,则您可以从单个数据集中引用多个数据库。 例如,如果您在同一服务器上有两个数据库(公司、客户数据),那么
如果数据库位于不同的服务器但已链接,那么您可以使用
servername.databasename.schema.tablename
来引用表。 在这两种情况下,您都需要确保您使用的登录名在双方都具有适当的权限。或者,您可以在运行报告之前使用 SSIS 将两个数据库中的表提取到一个公共数据库中,或者安排在夜间或白天定期运行。
Yes a single report control (table, list etc) can only display data from one dataset. You do have a couple of options though.
You can reference multiple databases from a single dataset if they are on the same server or if one server is linked to the other. For example if you have both databases (company, customerdata) on the same server then
If the databases are of different servers but are linked then you can refer to the tables using
servername.databasename.schema.tablename
instead. In both cases you need to make sure the login you're using has appropriate permissions on both sides.Alternatively you could use SSIS to pull the tables from both databases into a common database prior to running the report perhaps scheduling to run overnight or periodically during the day.
我已经使用 rdlc 中的子报告做了类似的事情。 我不确定是否可以在 rdl 中完成,但在 rdlc 中,每个子报告实际上都是带有自己的数据源的报告。
此致,
约丹
i have done somethin like this using subreports in rdlc. I am not shure if it is possible to be done in rdl but in rdlc every subreport is actualy report with it's own DataSource.
Best Regards,
Iordan