Question

J'ai un élément très simple qui rognages avant et espaces de fin de chaînes (lecture / écriture) dans un pipeline. Pour autant que je le vois, je ne dispose que d'un binaire de ce dll sur ma machine de développement. Je transfère à une autre machine de développement et de l'enregistrement dans le GAC, mais quand j'ouvrir un paquet que je copiais sur la deuxième machine, je reçois cet avertissement:

1 Erreur d'erreur de validation. Tâche de flux de données: DTS.Pipeline: Les métadonnées composant pour « composant « TrimColumnsComponent »(1909) » n'a pas pu être mis à niveau vers la nouvelle version du composant. La méthode PerformUpgrade a échoué. LD_CXSUM.dtsx 0 0

Je le composant dans la boîte à outils, et je peux faire glisser l'autre sur la toile et il ne dataflow semble pas avoir de problème.

est SQL Server 2005 et Visual Studio 2005 sur les deux machines.

Sur la seconde machine, je peux créer un package à partir de zéro et il charge sur la machine qui a construit le composant (mais l'icône est l'icône standard de composant utilisateur, le même que celui sur la deuxième machine). Si je crée un package à partir de zéro sur la machine de construction, il a l'icône correcte, mais il donne le message de mise à niveau sur la machine non-construction. Les fichiers sont identiques dans le répertoire des composants, ils ont le même identifiant de classe de composants et ils sont enregistrés dans le GAC.

J'ai vérifié les fichiers manuellement DTSX en inspectant le XML et dans des emballages créés sur la machine de construction et la machine non-construction, l'identifiant de classe et la clé publique sont identiques entre les machines.

Que peut-être la cause?

Était-ce utile?

La solution

En général, cela signifie que le composant a été mis à jour après que le paquet a été sauvé, et il est donc au numéro de version erronée. Vous devrez ajouter à nouveau le composant, malheureusement 1 .

Vous pouvez être en mesure d'enregistrer le paquet comme une nouvelle version et essayer la migration qui. Cela peut résoudre le problème de la mise à niveau automatique appelé (et par la suite à défaut).

Autres conseils

Êtes-vous à 100% positif la copie du composant dans le GAC correspond à la copie dans le répertoire Program Files \ Microsoft SQL Server \ 90 \ DTS \ dossier PipelineComponents? La copie GAC est utilisé lors de l'exécution, et la copie sous PipelineComponents est utilisé par le VS IDE. Si vous exécutez sur une machine x64, je ferais bien le copier dans le dossier PipelineComponents sous le Programme ordinaire dossier des fichiers et le dossier x86.

Y compris les outils client SDK et Outils client de compatibilité descendante dans l'installation SQL Server résolu le problème de la mise à niveau pour moi.

J'ai eu le même problème, le tour pour moi était de déployer l'ensemble du projet plutôt que d'un emballage individuel. Cette résolu le problème et a permis à l'ensemble de fonctionner normalement.

J'ai eu le même problème et ma solution est la même que celle de @AppleG. La question a été générée par le déploiement d'un seul paquet plutôt que de l'ensemble du projet. Le projet a été déployé plus tôt par un autre développeur, très probablement avec une version légèrement différente de Visual Studio ou l'assistant de déploiement. Alors je ne déployé plus tard un paquet de mon VS.

En conclusion, le déploiement du projet dans son ensemble résolu à nouveau la question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top