我在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