我在MS SQL Server 2008r2中链接的Informix表出现问题。当我查询这个表时,它似乎忽略了我传递给它的一些标准,但忽略了其他标准。例如,如果我在rowdate字段上添加条件,执行计划的远程查询部分不会显示任何WHERE子句,但如果我将条件放在另一个字段(如ACD)上,它会显示。MS SQL Server中的链接Informix表忽略标准?
它似乎没有在rowdate字段上通过任何标准,但在所有其他标准上都通过了。
我知道这个字段是在Informix端索引的。如果它帮助我链接的表格来自Avaya CMS,并且它通过OpenLink ODBC驱动程序进行链接。
编辑:
据我知道这是Informix Dynamic Server的2000,它是在Solaris上。该列出现为DATE数据类型,它是正确的。我试过通过标准'2010-08-03 00:00:00','2010-08-03',CONVERT(日期,'2010-08-03')以及其他一些变体。当数据返回到SQL服务器时,格式为yyyy-mm-dd。
当我查看执行计划时,我可以看到带有所有其他条件的远程查询,后面跟着只有rowdate字段的过滤器。
我知道rowdate被索引,并且正如我们在其他应用程序中使用它(业务对象和MS Access)司机正常通信,信息和他们没有问题
哪个版本的Informix在哪个平台上? 'rowdate'的类型是什么?据猜测,这是DATE,但它可能是DATETIME的变体之一,例如DATETIME YEAR TO DAY或DATETIME YEAR TO SECOND。驱动程序是否以相同的方式处理同一类型的其他列? **表面上看,这听起来像是'客户'一方面的问题;也就是说,如果驱动程序不发送标准,服务器将无法使用它。您可能想要了解如何执行SET EXPLAIN ON,以便您可以看到Informix DBMS将SQL视为什么,以便与您认为应该看到的内容进行比较。 – 2010-08-02 19:00:23