ich ein SSIS-Paket mit einfachen DFT erstellt und Dateien von OLEDB Quelle OLEDB Ziel zu übertragen. Wenn ich eine neue Spalte in meiner Quellentabelle hinzufüge, wird das Paket noch erfolgreich ausgeführt, aber ich möchte, dass mein Paket fehlschlägt. Kann jemand vorschlagen, wie man es repariert?SSIS-Paket ausgeführt wird, während Änderung auf Quelltabelle getan
Antwort
wenn eine Tabelle in OLEDB Quelle ausgewählt wurde, werden die Metadaten der Tabelle auf die Komponente OLEDB Source
abgebildet.
Jedes Mal, wenn Sie das Paket ausführen, sendet es einen SELECT * From Table
Befehl an den SQL-Server und ruft die Daten ab, und jede Spalte aus der SQL-Tabelle wird der Spalte OLEDB Source
zugeordnet.
Wenn eine Spalte in SQL gefunden wird, und es ist nicht definiert in OLEDB Source
es ignoriert. In der anderen Hand, wenn eine Spalte nicht in SQL gefunden wird, und es wird definiert in OLEDB Source
wird es eine Ausnahme werfen.
Die einzige Möglichkeit, Metadaten zu validieren, bevor das Paket läuft, ist eine
Execute SQL Task
oderScript Task
zu überprüfen, um die Metadaten hinzuzufügen, bevor dieDFT
ausgeführt wird.
Referenzen
Im Bereich Ablaufsteuerung, eine Execute SQL Task
vor Ihrer DFT hinzufügen. die Verbindung zu Ihrer Datenbank einrichten und für Ihre SQLStatement folgenden verwenden:
CREATE TABLE #temp (<define all columns currently in your OLEDB Source Table>)
INSERT INTO #temp
SELECT TOP 1 *
FROM <your OLEDB Source Table>
dieses „worst practice“ einfügen Syntax Durch die Verwendung Sie einen Fehler, wenn Ihre OLEDB Quelltabelle alle Spalten hinzugefügt oder entfernt hat verursachen können.
- 1. Während dataReader.Read() nicht ausgeführt wird
- 2. Neue Yaws-Konfigurationsdatei wird geladen, während Yaws ausgeführt wird
- 3. ViewDidLoad wird langsam ausgeführt, während Viewcontroller gedrückt wird
- 4. Espressotest zurück, während AsyncTask ausgeführt wird
- 5. Datenspeicherzugriff sperren, während Cron-Task ausgeführt wird
- 6. Wird die Deinstallation während der Produktaktualisierung ausgeführt?
- 7. JavaScript-Seitenaktualisierung während ein Skript ausgeführt wird
- 8. Die Aktionsmethode wird nicht ausgeführt, während ich auf die Schaltfläche
- 9. Tensorflow während der Körper nicht ausgeführt wird
- 10. Aktualisierungssteuertext, während der Prozess ausgeführt wird
- 11. Abbrechen eines Prozesses, während es ausgeführt wird
- 12. Job wird während der Startanwendung ausgeführt
- 13. Zu ThreadPool hinzufügen, während es ausgeführt wird
- 14. Variable ändern, während Arduino ausgeführt wird
- 15. Ladebild anzeigen, während Ajax ausgeführt wird
- 16. wird-Änderung Problem auf Chrome
- 17. Shell-Skript wird ausgeführt, registriert aber keine Änderung an Pfad
- 18. Wie wird der Befehl angezeigt, der in einem Skript ausgeführt wird, während es ausgeführt wird?
- 19. Programm wird nicht ausgeführt nach Änderung in Assembly mit GDB
- 20. PBKeyBindings.dict wird neu geladen, während Xcode ausgeführt wird
- 21. In StackOverflowException ausgeführt, während Code auf neu aktualisiertem Arbeitslaptop ausgeführt wird (ohne Codeänderungen)
- 22. Bestimmen Änderung Fragment, während Espresso
- 23. ASP.Net Links werden nicht deaktiviert, wenn während Postback getan
- 24. Wie wird die Verschleierung in Java getan?
- 25. Auf welchen Thread JavaFX Änderung Listener ausgeführt werden?
- 26. Verhindern, dass das Ereignis ausgeführt wird, während ein anderer ausgeführt wird
- 27. Schedulers.computation() wird auf MainThread ausgeführt
- 28. EXE nicht ausgeführt, zufällige Änderung der Konfiguration?
- 29. , der die Steuerung an ISR übergeben wird, während die CPU BH ausgeführt wird
- 30. PyQt4-Fenster wird nicht angezeigt, während das Programm ausgeführt wird, aber auf ipython
Sie kann es nicht machen scheitern, da es die Metadaten Ihrer Tabelle enthält, und Sie haben Ihre neue Spalte nicht zugeordnet. Dann geht es nur weiter, als nichts hinzugefügt wurde. Wenn Sie einen Fehler machen müssen, benötigen Sie ein SQL-Skript, um zu schreiben, dass es fehlschlägt, wenn neue Zeilen zu dieser Tabelle hinzugefügt werden. – plaidDK