Crystal Reports可以使用ODBC DSN连接到数据库,从中提取用于报告目的的数据和信息。
Crystal Reports的某些版本存在一个已知的问题,应用程序无法通过ODBC连接打开和浏览表和字段。在使用水晶报告与MySQL,请确保您已经更新到最新版本,包括任何突出的服务包和补丁。有关此问题的更多信息,请参见业务)对象知识库为更多的信息。
创建DSN
数据源(ODBC)
工具。您可以指定一个完整的数据库,包括用户名和密码,也可以构建一个基本的DSN并使用Crystal Reports设置用户名和密码。对于本例的目的,已经创建了一个DSN,它提供到MySQL Sakila示例数据库实例的连接。
打开Crystal Reports并创建一个新项目,或者打开一个您想要从MySQL数据源插入数据的现有报告项目。
通过单击“开始页”上的选项,启动跨选项卡报告向导。扩大创建新的连接文件夹,然后展开ODBC (RDO)文件夹以获取ODBC数据源列表。
系统将要求您选择一个数据源。
当你第一次展开ODBC (RDO)文件夹就会出现数据源选择界面。从这里,您可以选择预配置的DSN、打开基于文件的DSN或输入手动连接字符串。对于本例,预配置的Sakila将使用DSN。
如果DSN包含用户名/密码组合,或者希望使用不同的身份验证凭据,请单击
输入要使用的用户名和密码。否则,单击 要继续执行数据源选择向导。您将返回跨选项卡报表创建向导。现在需要选择要包含在报表中的数据库和表。对于我们的示例,我们将展开所选的Sakila数据库。单击
城市
表,并使用 按钮,将表添加到报表中。然后重复这个动作国家
表格或者,您可以选择多个表并将它们添加到报告中。最后,您可以选择父级Sakila资源和添加到报表中的表。
选择要包含的表之后,单击
继续。水晶报告现在将读取表定义,并自动识别表之间的链接。表之间链接的标识使Crystal Reports能够根据您的查询自动查找和总结基于数据库中所有表的信息。如果Crystal Reports无法执行链接本身,您可以手动创建您所选择的表中字段之间的链接。
点击
继续这个过程。现在可以选择要包含在Cross-Tab报告中的列和行。的拖放或使用
按钮,用于向报表的每个区域添加字段。在所示的示例中,我们将报告按国家组织的城市,包含每个国家的城市数量。如果要浏览数据,请选择一个字段并单击 按钮。点击
创建一个结果图表。由于我们没有根据该数据创建图表,请单击 生成报告。将显示完成的报告,下面显示Sakila示例数据库的输出示例。
一旦在Crystal Reports中打开ODBC连接,就可以浏览并将可用表中的任何字段添加到报表中。