Crystal reports Crystal报告连接来自不同数据库的表

Crystal reports Crystal报告连接来自不同数据库的表,crystal-reports,multiple-databases,Crystal Reports,Multiple Databases,我试图将数据从两个不同的数据库拉入一个水晶报表。我的理解是,可以使用联合查询从两个相同的表中提取数据,但是我的表不同。它们需要连接到特定的柱上。例如,假设一个表具有EmployeeID和EmployeeName,第二个数据库中的第二个表具有EmployeeID和EmployeeSalary。是否可以在ID上加入这些表并显示每个员工的姓名和工资?您应该能够在“数据库”下拉菜单->设置数据源位置选项屏幕下将这两个数据库添加到Crystal 或者,如果“我的连接”中已存在这两个数据库,则在创建新报告时

我试图将数据从两个不同的数据库拉入一个水晶报表。我的理解是,可以使用联合查询从两个相同的表中提取数据,但是我的表不同。它们需要连接到特定的柱上。例如,假设一个表具有EmployeeID和EmployeeName,第二个数据库中的第二个表具有EmployeeID和EmployeeSalary。是否可以在ID上加入这些表并显示每个员工的姓名和工资?

您应该能够在“数据库”下拉菜单->设置数据源位置选项屏幕下将这两个数据库添加到Crystal

或者,如果“我的连接”中已存在这两个数据库,则在创建新报告时,在“数据”页上,单击要从中生成报告的每个数据库实例并登录到每个数据库实例

对于您的特定情况,如果创建新报告。在标准报告创建向导的数据屏幕中:

  • 单击数据库A,登录
  • 将TableX移到选定的表上
  • 单击数据库B,登录
  • 将表格移到选定的表格上
  • 单击“下一步”
  • 在链接屏幕中,Crystal应该基于表的共享列(在示例EmployeeID中)智能链接表
  • 如果未在EmployeeID上进行SmartLink,则根据EmployeeID列手动链接表
  • Oracle 9及更高版本也可以在两个数据库之间创建DBLink,在原始sql查询中,您只需使用@DBLink语法调用DBLink,如下所示:

        select employeename,
               employeesalary
        from tablea a
          inner join tableb@dblinkname b
            on a.employeeid = b.employeeid