Ich rufe eine gespeicherte Prozedur von einer OLE DB-Datenquelle in SSIS auf. Warum sieht SSIS keine Änderungen, die ich an der gespeicherten Prozedur vorgenommen habe? Es scheint, dass Metadaten über die gespeicherte Prozedur irgendwo zwischengespeichert werden. Ist es im Cache gespeichert? Wenn ja, wie erzwinge ich SSIS, die Änderungen zu sehen, die ich an der gespeicherten Prozedur vorgenommen habe?Warum aktualisiert eine OLE DB-Datenquelle Metadaten nicht, wenn sich die gespeicherte Prozedur ändert?
Antwort
Es ist möglich, dass das Problem nicht darin besteht, dass SSIS Ihre Änderungen nicht sehen kann. Aber das, was Sie verändern, ist für SSIS nicht sichtbar.
Um diese sehr verwirrende Antwort zu verdeutlichen, versuchen Sie Folgendes: Ziehen Sie eine OLE DB-Datenquelle auf einen Datenfluss. Verbinden Sie es mit derselben gespeicherten Prozedur, mit denselben Parametern usw. Überprüfen Sie die Metadaten für die Ausgabespalten.
Wenn sie das sind, was Sie erwartet haben, dann ist das Problem, dass SSIS Ihre Änderungen nicht sieht. Ich bin überrascht, wenn dies die Antwort ist - wenn überhaupt, SSIS ist zu wählerisch über Änderungen in Metadaten (vor allem in der 2005-Version).
Wenn Sie die erwarteten Metadaten nicht sehen, müssen Sie Ihren Beitrag mit weiteren Einzelheiten zu Ihrer gespeicherten Prozedur bearbeiten. Aber ich kann generell sagen, dass weder SSIS noch irgendeine andere Software die Form Ihrer Ergebnismenge in allen Fällen bestimmen kann. Ich glaube, sie verwenden den SET FMTONLY-Befehl, um zu arrangieren, dass Abfragen "nicht wirklich" ausgeführt werden. Stattdessen werden sie für alle ihre Parameter NULL übergeben. Die Ergebnismenge, die auftritt, wenn alle Parameter NULL oder Standardwerte sind, wird von SSIS angezeigt. Wenn Sie einen komplizierten SP haben, der Ergebnismengen unterschiedlicher Formen basierend auf der Eingabe zurückgibt, könnte dies das Problem sein.
Um die Metadaten neu zu generieren, löschen Sie einfach die Flussleitung (rot und grün) und fügen Sie sie erneut hinzu. Dies ist die einfachste Lösung, die ich für dieses Problem gefunden habe.
- 1. SSIS verlorene gespeicherte Prozedur Metadaten
- 2. Entitätsmodell wird nicht aktualisiert/neue gespeicherte Prozedur
- 3. Gespeicherte Prozedur, die eine andere gespeicherte Prozedur ausführt
- 4. AngularJS aktualisiert die Vorlagenvariable nicht, wenn sich der Bereich ändert
- 5. Statische Bindung wird nicht aktualisiert, wenn sich die Ressource ändert
- 6. Combobox SelectedItem wird nicht aktualisiert, wenn sich die Quelle ändert
- 7. Variable ändert sich nicht, wenn sich eine Ansicht ändert
- 8. SQL Server Intellisense aktualisiert gespeicherte Prozedur und Funktionsliste nicht
- 9. Warnen, wenn gespeicherte Prozedur fehlschlägt
- 10. Warum ändert sich die Sitzung, wenn ich eine Seite aktualisiere?
- 11. Warum ändert sich die Schriftgröße nicht?
- 12. Scope-Wert wird nicht aktualisiert, wenn Service-Variable sich ändert
- 13. Warum ändert sich die td-Textfarbe nicht?
- 14. AngularJS aktualisiert img src nicht, wenn sich das Modell ändert
- 15. Nicht in der Lage, die gespeicherte Prozedur
- 16. Die Kontrolle wird nicht aktualisiert, nachdem CanExecute-Result sich ändert
- 17. "gespeicherte Prozedur konnte nicht gefunden werden"
- 18. mysql gespeicherte Prozedur, die sich selbst aufruft rekursiv
- 19. Angular2: Die Ansicht wird nicht aktualisiert, wenn sich die Variable ändert
- 20. PyODBC führt gespeicherte Prozedur nicht aus
- 21. DatePicker.SelectedDate ändert sich nicht, wenn Texteingabe ist
- 22. Gespeicherte Prozedur
- 23. nicht in der Lage sql clr gespeicherte Prozedur (nicht in der Lage zu überprüfen, Metadaten)
- 24. MP3-Metadaten werden nicht aktualisiert
- 25. WPF-Liste wird aktualisiert, wenn sich das Element ändert
- 26. Anchor Elementfarbe ändert sich nicht, wenn
- 27. erstellen Sie gespeicherte Prozedur, wenn nicht in SQL-Server
- 28. Das Etikett ändert sich nicht, wenn sich die Sprache ändert, während die App läuft.
- 29. Temporär gespeicherte Prozedur Bereich
- 30. Angular 2 - Komponenteneigenschaft ändert sich, aber Ansicht aktualisiert nicht