2009-07-07 7 views
1

Wie die meisten Oracle-Berichte in O * Financials besteht die Abfrage abhängig von den eingegebenen Parametern aus dynamischen Teilen.So sehen Sie die tatsächliche Abfrage eines Oracle-Berichts, der einen Fehler enthält

Wenn ich ausführen, um die gleichzeitige Anfrage die Protokolldatei einen obskuren Fehler enthält:

ORA-00933: SQL-Befehl beendete nicht richtig d.acctd_amount_dr, d.amount_dr)) C_AMOUNT, TRX. trx_number C_TRX_NUMBER VON ar_cash_receipt_history crh, ar_distributions d, gl_code_combinations gc, ar_batches b, ar_cash_receipts cr, hz_cust_accounts cust_acct, h

(ich weiß nicht, warum es setzt Räume zwischen den trx.trx_number, die einer meiner Veränderungen.)

Antwort

2

Ich habe keine Erfahrung mit Oracle Reports selbst. Aber was immer funktioniert, um zu sehen, welche SQL-Anweisungen von einem Client an eine Oracle-Datenbank gesendet werden, ist ein sql Netz-Trace. Anweisungen zur Konfiguration von sql net zum Erstellen einer Trace-Datei finden Sie in der Oracle sql * net Dokumentation oder werfen Sie einen Blick auf die OraFAQ.

Und bitte, vergessen Sie nicht, die Trace-Funktion wieder zu deaktivieren, nachdem Sie mit dieser SQL-Anweisung fertig sind.

+0

Wenn eine Spur gemacht werden kann, dann wäre dies die beste Idee. Wenn der Bericht andererseits von einem Berichtsserver ausgeführt wird, kann es schwierig sein, eine Ablaufverfolgung für genau die fehlgeschlagene Sitzung zu erhalten. In diesem Fall müssen Sie möglicherweise versuchen, das SQL, das der Bericht ausführt, zu reproduzieren, indem Sie den Code überprüfen. –

0

Danke Jungs.

Ich kopiert den Abfragetext und verkettet in allen Parametern wie & LP_ORDER_BY und zeigte es dann mit einem SRW_MESSAGE im BEFORE_REPORT-Trigger. Bit ermüdend, sollten sie ein verfügbares Feld haben, das die Abfrage enthält.