Crystal报告和MySQL - 无法使用左外连接

时间:2013-08-18 21:56:06

标签: mysql crystal-reports left-join

我最近安装了Crystal Reports 2011版14.0.2.364 RTM。我正在使用MySQL ODBC 3.51驱动程序连接到已创建DSN的MySQL数据库。我可以使用单个表或右连接创建报表,但是,当我尝试使用左连接创建报表时Crystal冻结并且我必须强制程序退出。

MySQL服务器上的超时设置设置为30分钟,因此这似乎不是问题。使用Microsoft SQL Server Management Studio并访问与链接服务器相同的数据库,查询需要1分18秒才能返回1,380,993行。

我无法理解为什么在SQL查询执行正常时Crystal无法执行查询/返回结果。如果您需要任何进一步的信息,请与我们联系。

在水晶中查询

 SELECT `applications1`.`id`, `application_statuses1`.`status`
 FROM   `js_reporting`.`applications` `applications1`
  LEFT OUTER JOIN `js_reporting`.`application_statuses` `application_statuses1` ON `applications1`.`id`=`application_statuses1`.`application_id`

SQL Server中的相同查询

select applications.id, application_statuses.status
from mysql_js...applications
 left join mysql_js...application_statuses on applications.id=application_statuses.application_id

2 个答案:

答案 0 :(得分:1)

问题主要是由于缺乏索引(感谢Alec Henderson提出这个问题)。此外,我们的开发人员将我们的一个表拆分为两个单独的表,因此数据库很难在没有2个拆分表和后续链接表之间的链接表的情况下处理这个表。

答案 1 :(得分:0)

Crystal需要时间打印1 000 000条记录。您可能会面临记忆问题。创建具有如此多记录的报告的原因是什么 - 这实际上是无用的。