ODBC中的SQL查询结果--调用失败

ODBC中的SQL查询结果--调用失败,sql,odbc,ms-access-2007,outer-join,Sql,Odbc,Ms Access 2007,Outer Join,我有一个新手的问题(我想),我正在尝试开发一个查询。我们有一个SQL server数据库,它从单独的系统日志文件导入数据。这些文件在SQL数据库中的许多表上被分解。我很抱歉这有点冗长,但希望它能清楚地解释我遇到的问题 由于我目前的公司限制,我只能使用MS Access 2007或Excel 2007前端来查询和分析从日志文件中提取的数据 我一直在处理一个查询,该查询应该基于UnitID从一个表(包含检查消息)获取所有记录,并从第二个表(如果存在一般信息)获取一些相应的数据 因此,使用一个简单的s

我有一个新手的问题(我想),我正在尝试开发一个查询。我们有一个SQL server数据库,它从单独的系统日志文件导入数据。这些文件在SQL数据库中的许多表上被分解。我很抱歉这有点冗长,但希望它能清楚地解释我遇到的问题

由于我目前的公司限制,我只能使用MS Access 2007或Excel 2007前端来查询和分析从日志文件中提取的数据

我一直在处理一个查询,该查询应该基于UnitID从一个表(包含检查消息)获取所有记录,并从第二个表(如果存在一般信息)获取一些相应的数据

因此,使用一个简单的select语句作为单元ID之一,我得到了51319条返回的记录。这是应该返回的记录数(结果将进入一些图表以查找消息中的模式)

如果我将其更改为选择DISTINCT,我将获得38024条记录。最终,我不想要这些,因为我需要所有这些,但这会在一段时间内发挥作用-所以请容忍我

当我尝试将这些结果与常规信息表连接时,查询失败-ODBC--Call失败

    SELECT
      Messages.TimeStamp,
      Messages.UnitID,
      Messages.Stuff,
      GeneralInfo.MoreStuff
    FROM
      Messages LEFT OUTER JOIN GeneralInfo 
        ON Messages.TimeStamp = GeneralInfo.TimeStamp 
        AND Messages.UnitID = GeneralInfo.UnitID
    WHERE
      Messages.UnitID = '4400'
    ORDER BY
      Messages.TimeStamp
出于病态的好奇,我把它改成了一个精选的独特的,它可以工作-返回40810条记录

什么可能导致ODBC失败(我怀疑返回的记录太多)? 如果我的怀疑是正确的,那么为什么联接查询会返回比我开始的简单SELECT查询更多的记录

提前谢谢
Jason

失败的查询需要多长时间才能失败?这是超时问题吗?您是否从ODBC驱动程序收到任何错误消息?christiandev-查询失败大约需要2分钟,因此可能是超时。使用DISTINCT关键字的成功查询将在几秒钟内执行—如果没有它,它将失败。jpw—不幸的是,当它失败时,它不会提供任何错误消息—只需“OBDC--Call Failed”
    SELECT
      Messages.TimeStamp,
      Messages.UnitID,
      Messages.Stuff,
      GeneralInfo.MoreStuff
    FROM
      Messages LEFT OUTER JOIN GeneralInfo 
        ON Messages.TimeStamp = GeneralInfo.TimeStamp 
        AND Messages.UnitID = GeneralInfo.UnitID
    WHERE
      Messages.UnitID = '4400'
    ORDER BY
      Messages.TimeStamp