Variablen im SSIS-Import-Paket moeglich?

26/08/2009 - 18:52 von Irmgard Schwenteck | Report spam
Hallo,

ich muß tàglich Daten aus einer ODBC-Datenquelle importieren.
Für die Datenquelle gibt es eine Abfrage, welche z.B. endet mit
FROM MBV WHERE Erfassungsdatum >= {d '2009-01-01'}
(caché-SQL)

Jetzt will ich aber, daß nur diese Datensàtze rausgefiltert werden, wo
das Erfassungsdatum > dem höchsten Erfassungsdatum in der lokalen
Tabelle ist.

Wie krieg ich das in diese Abfrage hinein?
Den String könnte ich mir ja zusammenbasteln, aber wie krieg ich den an
die Stelle im SSIS-Paket?

In Access hab ichs gelöst, indem ich einfach per VBA den Text der qry
geàndert habe, bevor ich sie ausgeführt habe.


Ich könnte zwar mit getdate arbeiten, aber das würde voraussetzen, daß
das paket niemals fehlschlàgt, den dann würde mir ein Tag fehlen und das
darf nicht sein.
Außerdem kommt hinzu, daß ich vor dem Import immer die letzten 5 tage
lösche, weil soweit zurück noch Änderungen auf Quellseite vorgenommen
werden können.


Gruß
Irmgard

http://bessere-welt.de/
 

Lesen sie die antworten

#1 Jürgen Volke
27/08/2009 - 07:13 | Warnen spam
Hallo Irmgard

ich muß tàglich Daten aus einer ODBC-Datenquelle importieren.
Für die Datenquelle gibt es eine Abfrage, welche z.B. endet mit
FROM MBV WHERE Erfassungsdatum >= {d '2009-01-01'}
(caché-SQL)

Jetzt will ich aber, daß nur diese Datensàtze rausgefiltert werden, wo
das Erfassungsdatum > dem höchsten Erfassungsdatum in der lokalen Tabelle
ist.

Wie krieg ich das in diese Abfrage hinein?
Den String könnte ich mir ja zusammenbasteln, aber wie krieg ich den an
die Stelle im SSIS-Paket?

In Access hab ichs gelöst, indem ich einfach per VBA den Text der qry
geàndert habe, bevor ich sie ausgeführt habe.


Ich könnte zwar mit getdate arbeiten, aber das würde voraussetzen, daß
das paket niemals fehlschlàgt, den dann würde mir ein Tag fehlen und das
darf nicht sein.
Außerdem kommt hinzu, daß ich vor dem Import immer die letzten 5 tage
lösche, weil soweit zurück noch Änderungen auf Quellseite vorgenommen
werden können.




kannst du die Abfrage nicht àndern in:

... WHERE Erfassungsdatum > (SELECT Max(Erfasungsdatum) FROM ..)

HTH Jürgen

Ähnliche fragen