Ich habe eine sehr einfache Komponente, die alle führenden und nachfolgenden Leerzeichen aus (lesen/schreiben) Zeichenfolgen in einer Pipeline schneidet. Soweit ich sehen kann, habe ich nur eine Binärdatei dieser DLL auf meiner Entwicklungsmaschine. Ich übertrage es auf einen anderen Entwicklungscomputer und registriere es im GAC, aber wenn ich ein Paket öffne, das ich auf den zweiten Rechner kopiert habe, erhalte ich folgende Warnung:Ursache von SSIS Custom Dataflow Component Fehler - kann nicht aktualisiert werden
Fehler 1 Validierungsfehler. Datenflusstask: DTS.Pipeline: Die Komponentenmetadaten für "component" TrimColumnsComponent "(1909)" konnten nicht auf die neuere Version der Komponente aktualisiert werden. Die PerformUpgrade-Methode ist fehlgeschlagen. LD_CXSUM.dtsx 0 0
Ich habe die Komponente in der Toolbox, und ich kann eine andere auf die Datenflut ziehen und es scheint kein Problem zu haben.
Dies ist SQL Server 2005 und Visual Studio 2005 auf beiden Computern.
Auf der zweiten Maschine kann ich ein Paket von Grund auf neu erstellen und es wird auf der Maschine geladen, die die Komponente gebaut hat (aber das Symbol ist das Standard-Benutzerkomponentensymbol, das gleiche wie auf der zweiten Maschine). Wenn ich ein Paket von Grund auf neu auf dem Erstellungscomputer erstellen, hat es das richtige Symbol aber es gibt die Aktualisierungsnachricht auf dem non-build-Computer. Die Dateien sind im Komponentenverzeichnis identisch, sie haben dieselbe Komponentenklassen-ID und sind im GAC registriert.
Ich habe die dtsx-Dateien manuell überprüft, indem ich das XML und in den Paketen untersucht habe, die auf der Erstellungsmaschine und der Nicht-Erstellungsmaschine erstellt wurden, die Klassenidentifikation und der öffentliche Schlüssel sind zwischen Maschinen identisch.
Was kann das verursachen?
Gehst du von 2005 bis 2008 oder umgekehrt? Ich habe diesen Schluckauf oft gesehen, wenn das der Fall ist. – Eric
SQL Server 2005 und VS 2005 auf beiden Computern. –