2010-12-07 7 views
2

Kann ein gemeinsamer Lookup-Cache wiederverwendet werden?Wiederverwendung der Cache-Transformation

Ich habe die Cache-Transformationskomponente in eine foreach-Schleife verwendet, um eine Suche mit einer parametrisierten Abfrage zu initialisieren.

Der Cache muss für jede Iteration der Schleife neu geschrieben werden.

Aber auf der zweiten Iteration erhalte ich die Fehlermeldung:

Error: 0xC0010200 at fill lookup cache, Cache Lookup Events [1]: The component "Cache Lookup Events" (1) cannot write to the cache because component "Cache Lookup Events" (1) has already written to it. 
Error: 0xC0010201 at fill lookup cache, Cache Lookup Events [1]: Failed to prepare the cache for new data. 
Error: 0xC004701A at fill lookup cache, SSIS.Pipeline: component "Cache Lookup Events" (1) failed the pre-execute phase and returned error code 0xC0010201. 

Eine Idee, die Cache-Lebensdauer der Schleife Umfang zu begrenzen war. Wie für Variablen. Aber ich weiß nicht, wie man einen Bereich dem Cache zuweist.

Wie kann ich einen Cache säubern und neu schreiben oder löschen und neu erstellen?

Antwort

2

versucht, eine Antwort auf diese selbst zu finden, aber anscheinend die alle Verbindungen aus der ganzen Zeit offen durch das Paket läuft ..

Sie könnten ein Kind Pakete, indem die ein, dies umgehen können, auffüllt Datei-Cache als Kind-Pakete nicht teilen Verbindungs-Manager ..

0

Meine Lesung auf Cache schlägt vor, dass innerhalb einer Paketausführung, kann ein bestimmter Cache nur einmal geladen werden. Siehe diesen Artikel "SSIS cache transform – Failed to Prepare the Cache For New Data".

Möglicherweise gibt es eine Lösung für Ihre Frage, die Sie aus this blog herausziehen können. Aber es wäre eine Dateisystemaufgabe, den Cache umzubenennen.

Eine weitere Option besteht darin, den Cache-Verbindungsmanager zu skripten und dynamisch wie in diesem blog zu erstellen.

Verwandte Themen