Benutzer mit den meisten Antworten
Firing Trigger after Inserting Records sql server to oracle for one field

Frage
-
Hello,
our package is inserting data from sql server to oracle. One field will be null and it must be filled on the oracle side. Always when package run and insert the row from sql server to oracle, this trigger must be fire and fill this field values.
Is it right approach and can be achieve with SSIS? A commit is required after insert or how to manage commit with SSIS?
Thanks in advance
Dani
- Bearbeitet danimian Montag, 27. Februar 2012 17:59
Antworten
-
Hi Dani,
this is a german forum, so I will answer in german. If this is a problem for you, please use the english forums!Ich würde eine abgeleitete Spalte im SSIS-Paket verwenden und damit das Feld entsprechend füllen, bevor der Insert nach Oracle geht. Ansonsten sprechen wir ja von einem Oracle-Trigger, der aber nicht gefeuert würde, wenn die Spalte NOT NULL definiert ist, da die Zeile dann erst gar nicht in der Tabelle ankäme.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort vorgeschlagen Uwe RickenMVP Donnerstag, 1. März 2012 11:46
- Als Antwort markiert Robert BreitenhoferModerator Montag, 26. März 2012 11:32
-
Hallo Christoph,
danke für Antwort.
Weil da um eine Alfanumerischer Wert (12 Stellig) in der Oracle Tabelle handelt deshalb waren andere Operationen für 'maxwert +1' raus zu finden nötig, für neue Datensätze. Die Spalte ist Primäreschlüssel mit varchar(2) als Datentyp.
Ich habe das alles in Oracle mit BEFORE INSERT Trigger (trim und to_char Funktion) und mit einer Sequenz (für maxwert +1) umgesetzt.
Viele Grüße
Dani
- Als Antwort markiert Robert BreitenhoferModerator Montag, 26. März 2012 11:32
Alle Antworten
-
Hi Dani,
this is a german forum, so I will answer in german. If this is a problem for you, please use the english forums!Ich würde eine abgeleitete Spalte im SSIS-Paket verwenden und damit das Feld entsprechend füllen, bevor der Insert nach Oracle geht. Ansonsten sprechen wir ja von einem Oracle-Trigger, der aber nicht gefeuert würde, wenn die Spalte NOT NULL definiert ist, da die Zeile dann erst gar nicht in der Tabelle ankäme.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort vorgeschlagen Uwe RickenMVP Donnerstag, 1. März 2012 11:46
- Als Antwort markiert Robert BreitenhoferModerator Montag, 26. März 2012 11:32
-
Hallo Christoph,
danke für Antwort.
Weil da um eine Alfanumerischer Wert (12 Stellig) in der Oracle Tabelle handelt deshalb waren andere Operationen für 'maxwert +1' raus zu finden nötig, für neue Datensätze. Die Spalte ist Primäreschlüssel mit varchar(2) als Datentyp.
Ich habe das alles in Oracle mit BEFORE INSERT Trigger (trim und to_char Funktion) und mit einer Sequenz (für maxwert +1) umgesetzt.
Viele Grüße
Dani
- Als Antwort markiert Robert BreitenhoferModerator Montag, 26. März 2012 11:32