我是 SQL Server Report Builder 2.0 的新手,我需要在一个查询中比较两个不同的数据库。基本上我需要检查一个数据库表中的值是否存在于另一个数据库的表中。
我知道我可以将多个数据源添加到我的报表中并使用子报表访问每个数据源,但是我创建的每个数据集只能有一个查询。那么如何使用一个查询访问两个数据库呢?
或者,如果有另一种方法可以以某种方式加入来自多个 DataSet 的结果,那也可以。
此外,数据库位于同一台服务器上。
我是 SQL Server Report Builder 2.0 的新手,我需要在一个查询中比较两个不同的数据库。基本上我需要检查一个数据库表中的值是否存在于另一个数据库的表中。
我知道我可以将多个数据源添加到我的报表中并使用子报表访问每个数据源,但是我创建的每个数据集只能有一个查询。那么如何使用一个查询访问两个数据库呢?
或者,如果有另一种方法可以以某种方式加入来自多个 DataSet 的结果,那也可以。
此外,数据库位于同一台服务器上。
将您的 DataSource 指向服务器上的主表,而不是将其指向您要从中提取的特定数据库。因此,您必须将所有表称为 < DBName >.dbo.< TableName >.< ColumnName >
如果数据库在同一台服务器上,您可以对存储过程执行一次查询,然后 proc 访问第二个数据库。
因此,在您的报告中,您仍然会使用一个数据源并执行一个存储过程,但是当查询在数据库上运行时,它会处理来自第二个数据库的选择/连接。
通过这种方式,如果这是您需要做的,您可以返回一个包含合并结果的数据集。我会警告说,跨数据库连接/选择等可能被认为是可维护性的不良做法,并且如果您决定将部署重组为多服务器设置,如果数据库不在同一台服务器上,您的连接将无法正常工作。