SSIS 2005: DestinationTableName bei Bulk Insert Task dynamisch set

26/11/2009 - 22:31 von Bert Sachs | Report spam
Hallo

Ich habe ein BI SSIS 2005 Projekt erstellt, das einen Bulk Insert Task hat.
Mein Ziel ist ein generischer Bulk Insert Task, der dynamisch irgendwelche
FlatFiles in irgendwelche Tabelle kopiert.

Den ConnectionString (Pfad zur Datei) der FlatFile Connection habe ich auch
dynamisch über eine User Variable gesetzt. Nun möchte ich aber auch die
Zieltabelle (DestinationTableName) dynamisch setzen.

Wenn ich nun im Eigenschaftsfenster von VS.NET eine User Variable der
DestinationTableName Eigenschaft zuweise, so wird diese leider nicht zur
Laufzeit verwendet (sondern der Variablenname).

Nun wollte ich es mal über eine Expression versuchen und habe eine neue
Expression erstellt, über die ich der DestinationTableName Eigenschaft meine
User Variable zuweise. Wenn ich das mache, löscht mir VS.NET aber automatisch
meinen Initialwert aus der DestinationTableName Eigenschaft im
Eigenschaftsfenster. Wenn ich nun das Paket ausführen möchte, bekomme ich
trotz meiner Expression sofort die Fehlermeldung (bevor überhaupt ein anderer
Task ausgeführt wird), dass die DestinationTableName Eigenschaft nicht
gesetzt ist.

Das muss doch aber iregendwie gehen?! Ich könnte mir noch vorstellen, dass
man die DestinationTableEigenschaft irgendwie über einen Script Task setzen
kann. Aber ich weiß nicht, wie ich im Script Task auf den Bulk Insert Task
zugreifen kann :-(

Schon mal besten Dank im Voraus.

Gruß,
Bert
 

Lesen sie die antworten

#1 Bert Sachs
27/11/2009 - 07:31 | Warnen spam
Ich habe der Variable einen Initialwert mitgegeben, nun klappts :-)

"Bert Sachs" wrote:

Hallo

Ich habe ein BI SSIS 2005 Projekt erstellt, das einen Bulk Insert Task hat.
Mein Ziel ist ein generischer Bulk Insert Task, der dynamisch irgendwelche
FlatFiles in irgendwelche Tabelle kopiert.

Den ConnectionString (Pfad zur Datei) der FlatFile Connection habe ich auch
dynamisch über eine User Variable gesetzt. Nun möchte ich aber auch die
Zieltabelle (DestinationTableName) dynamisch setzen.

Wenn ich nun im Eigenschaftsfenster von VS.NET eine User Variable der
DestinationTableName Eigenschaft zuweise, so wird diese leider nicht zur
Laufzeit verwendet (sondern der Variablenname).

Nun wollte ich es mal über eine Expression versuchen und habe eine neue
Expression erstellt, über die ich der DestinationTableName Eigenschaft meine
User Variable zuweise. Wenn ich das mache, löscht mir VS.NET aber automatisch
meinen Initialwert aus der DestinationTableName Eigenschaft im
Eigenschaftsfenster. Wenn ich nun das Paket ausführen möchte, bekomme ich
trotz meiner Expression sofort die Fehlermeldung (bevor überhaupt ein anderer
Task ausgeführt wird), dass die DestinationTableName Eigenschaft nicht
gesetzt ist.

Das muss doch aber iregendwie gehen?! Ich könnte mir noch vorstellen, dass
man die DestinationTableEigenschaft irgendwie über einen Script Task setzen
kann. Aber ich weiß nicht, wie ich im Script Task auf den Bulk Insert Task
zugreifen kann :-(

Schon mal besten Dank im Voraus.

Gruß,
Bert

Ähnliche fragen