2

Office 2010 在运行这样的大查询时会导致 MSQuery 崩溃:

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 中运行良好。

这在数据库中运行良好,我需要像我想要所有以 5 开头的帐户 ID 一样使用。

它正在从 oracle 数据库中提取数据,我们使用的是 Oracle 10 g

我正在使用 oracle 10G ODBC 驱动程序

4

1 回答 1

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')
) 
于 2012-12-04T10:26:58.647 回答