Crystal Reports 可以使用 ODBC DSN 连接到数据库,您可以从中提取数据和信息以用于报告目的。
某些版本的 Crystal Reports 存在一个已知问题,应用程序无法通过 ODBC 连接打开和浏览表格和字段。在将 Crystal Reports 与 MySQL 一起使用之前,请确保您已更新到最新版本,包括任何未完成的服务包和修补程序。有关此问题的更多信息,请参阅 Business) Objects 知识库以获取更多信息。
例如,要在 Crystal Reports XI 中创建一个简单的交叉表报表,请执行以下步骤:
-
Data Sources (ODBC)
使用该工具 创建 DSN 。您可以指定一个完整的数据库,包括用户名和密码,也可以构建一个基本的 DSN 并使用 Crystal Reports 设置用户名和密码。出于本示例的目的,已创建一个 DSN,它提供与 MySQL Sakila 示例数据库实例的连接。
打开 Crystal Reports 并创建一个新项目,或者打开一个现有的报告项目,您要向其中插入来自 MySQL 数据源的数据。
-
通过单击起始页上的选项启动交叉表报表向导。展开Create New Connection文件夹,然后展开ODBC (RDO)文件夹以获得 ODBC 数据源列表。
系统将要求您选择数据源。
-
当您第一次展开ODBC (RDO) 文件夹时,您将看到数据源选择屏幕。从这里您可以选择预配置的 DSN、打开基于文件的 DSN 或输入和手动连接字符串。对于此示例,将使用预配置的 Sakila DSN。
如果 DSN 包含用户名/密码组合,或者您想要使用不同的身份验证凭据,请单击 下一步以输入您想要使用的用户名和密码。否则,单击 完成以继续数据源选择向导。
-
您将返回交叉表报表创建向导。您现在需要选择要包含在报告中的数据库和表。对于我们的示例,我们将展开选定的 Sakila 数据库。单击
city
表格并使用 >按钮将表格添加到报告中。country
然后用桌子重复这个动作 。或者,您可以选择多个表并将它们添加到报告中。最后,您可以选择父 Sakila资源并将表添加到报告中。
选择要包括的表后,单击 下一步继续。
-
Crystal Reports 现在将读取表定义并自动识别表之间的链接。表与表之间链接的识别使Crystal Reports能够根据您的查询自动查找和汇总基于数据库中所有表的信息。如果 Crystal Reports 无法自行执行链接,您可以手动创建所选表中字段之间的链接。
单击“下一步”继续该过程。
-
您现在可以选择要包含在交叉表报表中的列和行。拖放或使用 >按钮将字段添加到报告的每个区域。在所示示例中,我们将报告按国家/地区组织的城市,并包含每个国家/地区内的城市数量。如果要浏览数据,请选择一个字段并单击浏览数据...按钮。
单击下一步创建结果图。由于我们没有根据该数据创建图表,因此单击Finish生成报告。
-
将显示完成的报告,下面显示了 Sakila 示例数据库的输出示例。
在 Crystal Reports 中打开 ODBC 连接后,您可以浏览并将可用表中的任何字段添加到您的报告中。