2011-02-25 63 views
2

Office 2010中引起MSQUERY運行這樣一個大的查詢時崩潰:Office 2010的查詢崩潰

SELECT TRANSACTION_DETAIL.ACCT_ID, TRANSACTION_DETAIL.ACCT_DESC, 
     TRANSACTION_DETAIL.ACT_COST, TRANSACTION_DETAIL.EMPL_ID, 
     TRANSACTION_DETAIL.EMPL_NAME, TRANSACTION_DETAIL.FISCAL_QTR, 
     TRANSACTION_DETAIL.FY_CD, TRANSACTION_DETAIL.NOTES, 
     TRANSACTION_DETAIL.OBS_ORG_NAME, TRANSACTION_DETAIL.OWNING_ORG_ID, 
     TRANSACTION_DETAIL.PD_NO, TRANSACTION_DETAIL.TRANSACTION_TYPE, 
     TRANSACTION_DETAIL.TRANS_DATE, TRANSACTION_DETAIL.TRN_DESC 
FROM OPS$CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL 
WHERE (TRANSACTION_DETAIL.ACCT_ID like '5%') 
    AND (TRANSACTION_DETAIL.FY_CD='2011') 

它在MS工作的罰款2007

這將運行在數據庫很好,我需要使用像我希望所有的帳戶ID連同5

它是從Oracle數據庫中提取數據開始,我們使用的是Oracle10克

我使用Oracle 10g ODBC驅動程序

+0

最新的查詢? – reggie 2011-02-25 20:17:32

+0

它有多大?有多少行返回?你有沒有在Oracle中運行它,因爲在這裏'FROM OPS $ CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL'看起來不太正確。你能避免LIKE? – Fionnuala 2011-02-25 20:53:13

+0

你如何連接到數據庫 - ODBC?如果是這樣,您使用的是哪種ODBC驅動程序?你嘗試過不同的驅動程序嗎? – 2011-02-27 06:50:33

回答

0

我會嘗試將您的查詢包裝到子查詢中。當我使用MSQuery和Oracle一起使用MSQuery時,很少有怪癖試圖在查詢編輯器中顯示查詢。包裝在子查詢中強制MSQuery放棄嘗試顯示編輯器並按原樣使用SQL。您的查詢然後會變成:

SELECT * FROM (
SELECT TRANSACTION_DETAIL.ACCT_ID, TRANSACTION_DETAIL.ACCT_DESC, 
     TRANSACTION_DETAIL.ACT_COST, TRANSACTION_DETAIL.EMPL_ID, 
     TRANSACTION_DETAIL.EMPL_NAME, TRANSACTION_DETAIL.FISCAL_QTR, 
     TRANSACTION_DETAIL.FY_CD, TRANSACTION_DETAIL.NOTES, 
     TRANSACTION_DETAIL.OBS_ORG_NAME, TRANSACTION_DETAIL.OWNING_ORG_ID, 
     TRANSACTION_DETAIL.PD_NO, TRANSACTION_DETAIL.TRANSACTION_TYPE, 
     TRANSACTION_DETAIL.TRANS_DATE, TRANSACTION_DETAIL.TRN_DESC 
FROM OPS$CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL 
WHERE (TRANSACTION_DETAIL.ACCT_ID like '5%') 
    AND (TRANSACTION_DETAIL.FY_CD='2011') 
)