2017-12-06 4 views
0

Wir müssen eine SQL Server-Quelle in ODI in unserer Oracle-Datenbank extrahieren. In dieser Quelle haben wir einen Unterschied zwischen einer NULL und einer leeren Zeichenfolge. Wir müssen diesen Unterschied in ODI einfangen. Etwas wie nvl (Attribut, 'XXX'), so dass ein leerer String ein NULL in Oracle oder so ähnlich wird.ODI: SQL Server-Quelle

In der physischen Zuordnung, die von SQL Server stammt, verwendet ODI jedoch immer eine temporäre C $ -Tabelle (die bereits eine Oracle-Tabelle ist). Nach dieser C $ -Tabelle wird mein 'nvl' angewendet, aber in Oracle werden eine Null und eine leere Zeichenfolge gleich behandelt.

Kann jemand mit diesem Problem umgehen?

Danke!

Antwort

0

In der logischen Zuordnung können Sie die ANSI SQL-Funktion coalesce(attribute, 'XXX'), die gültige SQL Server-Syntax ist, auf die Zielspalte anwenden.

Wenn Sie den Parameter Execute on Hint: Source festlegen, wird die Funktion auf die SELECT-Anweisung in der Quelle angewendet, bevor sie in die C $ -Tabelle eingefügt wird.

Verwandte Themen