我在 MS SQL Server 2008r2 中的链接 Informix 表有问题。当我查询此表时,它似乎忽略了我传递给它的一些标准,但没有忽略其他标准。例如,如果我在 rowdate 字段上设置条件,则执行计划的远程查询部分不会显示任何 WHERE 子句,但如果我将条件放在另一个字段(例如 ACD)上,它会显示。
它似乎没有通过 rowdate 字段上的任何标准,但在所有其他字段上都没有。
我知道该字段在 Informix 端被索引。如果它有助于我链接的表来自 Avaya CMS,它是通过 OpenLink ODBC 驱动程序链接的。
编辑:
据我所知,它是 Informix Dynamic Server 2000,它在 Solaris 上。该列作为正确的 DATE 数据类型出现。我尝试将标准传递为 '2010-08-03 00:00:00'、'2010-08-03'、CONVERT(date,'2010-08-03') 和更多变体。当数据返回到 SQL Server 时,其格式为 yyyy-mm-dd。
当我查看执行计划时,我可以看到带有所有其他条件的远程查询,然后是仅针对 rowdate 字段的过滤器。
我知道 rowdate 已编入索引,并且驱动程序通常会在我们在其他应用程序(业务对象和 MS Access)中使用它时传达该信息,并且它们没有问题