2011-02-25 5 views
2

Office 2010 provoque MSQuery crash lors de l'exécution d'une grande requête comme ceci:Office 2010 requête bloque

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') 

Il fonctionnait très bien dans MS 2007.

Cela fonctionne très bien dans la base de données et je dois utiliser comme je veux que tous les identifiants de compte de qui commence par 5.

Il tire des données de base de données Oracle et nous utilisons Oracle 10 g

J'utilise Oracle pilote ODBC 10G

+0

quelle est la requête? – reggie

+0

Quelle est la taille? Combien de lignes sont retournées? L'avez-vous exécuté dans Oracle, car il ne semble pas tout à fait correct ici 'FROM OPS $ CPDMUSER.TRANSACTION_DETAIL TRANSACTION_DETAIL'. Pouvez-vous éviter d'aimer? – Fionnuala

+0

Comment vous connectez-vous à la base de données - ODBC? Si oui, quel pilote ODBC utilisez-vous? Avez-vous essayé un pilote différent? –

Répondre

0

Je voudrais essayer d'encapsuler votre requête dans une sous-requête. Il y a quelques bizarreries lors de l'utilisation de MSQuery avec Oracle qui, je pense, proviennent de MSQuery essayant d'afficher la requête dans l'éditeur de requête. Envelopper dans une sous-requête oblige MSQuery à abandonner la tentative d'affichage de l'éditeur et à utiliser le SQL tel quel. Votre requête deviendrait alors:

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') 
) 
Questions connexes