48 Stimmen

Wie erstellt man eine temporäre Tabelle in einer SSIS-Kontrollflusstask und verwendet sie dann in einer Datentransformationstask?

Ich habe einen Steuerfluss, in dem ich eine temporäre Datenbank und Tabelle mit einem T-SQL-Befehl erstelle. Wenn ich einen Datenfluss hinzufüge, möchte ich auf die Tabelle zugreifen, aber das geht nicht, weil die Tabelle nicht existiert, um Informationen abzurufen. Wenn ich es versuche, bekomme ich Fehlermeldungen über die Anmeldung, weil die Datenbank (noch) nicht existiert. Ich habe die Verzögerungsvalidierung auf true gesetzt.

Wenn ich die Datenbank und Tabelle manuell erstelle, dann den Datenfluss mit der Abfrage hinzufüge und die Datenbank lösche, bleibt es bestehen, aber es scheint keine saubere Lösung zu sein.

Wenn es einen besseren Weg gibt, eine temporäre Staging-Datenbank zu erstellen und in Datenflüssen abzufragen, lassen Sie es mich bitte wissen.

1voto

DigginDev Punkte 41

Ich bin spät zu dieser Party gekommen, aber ich möchte noch einen Punkt zu user756519's gründlicher, ausgezeichneter Antwort hinzufügen. Ich glaube nicht, dass die Eigenschaft "RetainSameConnection auf dem Connection Manager" in diesem Fall relevant ist, basierend auf meinen kürzlich gemachten Erfahrungen. In meinem Fall war der relevante Punkt ihr Ratschlag, "ValidateExternalMetadata" auf False zu setzen.

Ich verwende eine temporäre Tabelle, um das Kopieren von Daten von einer Datenbank (und einem Server) auf einen anderen zu erleichtern, daher war die Eigenschaft "RetainSameConnection" in meinem speziellen Fall nicht relevant. Und ich glaube auch nicht, dass es wichtig ist, um das zu erreichen, was in diesem Beispiel passiert, so gründlich es auch ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X