2016-04-18 5 views
0

enter image description here Die unten angegebene Abfrage wird mit dem Quellenqualifikationsmerkmal in Informatica ausgeführt.Aktualisierungsabfrage in pre sql des Quellqualifikators läuft, aber nicht die Tabelle commit?

Pre SQL hat die folgende Abfrage.

Update CTLSTAGE.VMR226DEV_HSD_SUB A 
    set A.ATM_IP_IND = 'ATM' 
where (A.SW_SITE_CD,A.DEV_NM) = (
           select SW_SITE_CD,DEV_NM 
           from CTLSTAGE.ATM_IP_REF 
           where FTTC_E_IND = 'Y' 
           ) ; 
COMMIT ; 

Die läuft, aber nicht in der Datenbank fest.

enter image description here

+0

Pre-SQL und Post-SQL haben immer eine implizite "commit" am Ende, so dass Sie die "COMMIT;" Teil von Ihrer Abfrage. Da in Ihrem Logfile "Completed Pre SQL ... erfolgreich" steht, würde ich sagen, dass es korrekt funktioniert hat. Sind Sie sicher, dass die Abfrage korrekt ist, Sie die richtige Verbindung + Benutzer verwenden und das Update tatsächlich etwas bewirkt? – pgruetter

+0

Danke socken23, Ich habe die Abfrage überprüft, es funktioniert gut in Oracle, aber nicht in Informatica arbeiten. Zeilen werden von der Abfrage nicht aktualisiert. Ich habe die Verbindung überprüft, es ist nichts falsch mit Verbindung Einstellung gibt es eine Möglichkeit, das Ergebnis der Update-Abfrage in Informatica zu testen, versuchte ich mit ausführlichen aber konnte nicht helfen. –

+0

Wenn die Abfrage in 'Oracle' läuft und wenn Sie 'validiert' haben, hat es keinen Fehler geworfen, es bedeutet, dass die Abfrage in Ordnung ist. Ich kann nur vorschlagen, dass Sie das richtige 'Schema 'überprüfen, wenn diese' CTLSTAGE' die richtige ist, auf die Sie sich beziehen. Überprüfen Sie zusätzlich die DB-Verbindungen in 'Work flow'manager –

Antwort

0

Ich nehme an es läuft gut. Fügen Sie weitere Aussagen zu diagnostizieren, wie:

insert into someAuditTable 
select SW_SITE_CD,DEV_NM from CTLSTAGE.ATM_IP_REF where FTTC_E_IND = 'Y' 

und

insert into someAuditTable2 
select * from CTLSTAGE.VMR226DEV_HSD_SUB A where (A.SW_SITE_CD,A.DEV_NM) = (
          select SW_SITE_CD,DEV_NM 
          from CTLSTAGE.ATM_IP_REF 
          where FTTC_E_IND = 'Y' 
          ) ; 

BTW: Ist diese Art von Tupel Vergleich gut funktionieren? Sieht für mich seltsam aus:

(A.SW_SITE_CD,A.DEV_NM) = (select SW_SITE_CD,DEV_NM ...) 
+0

Ja, das ein bisschen Tupel-Vergleich funktioniert gut :) –

Verwandte Themen