Domanda

Ho un componente molto semplice che elimina tutti gli spazi iniziali e finali dalle stringhe (lettura/scrittura) in una pipeline.Per quanto posso vedere, ho solo un file binario di questa DLL sulla mia macchina di sviluppo.Lo sto trasferendo su un'altra macchina di sviluppo e lo sto registrando nel GAC, ma quando apro un pacchetto che ho copiato sulla seconda macchina, ricevo questo avviso:

Errore 1 Errore di convalida.Attività flusso di dati:DTS.Pipeline:Non è stato possibile aggiornare i metadati del componente per il "componente "TrimColumnsComponent" (1909)" alla versione più recente del componente.Il metodo PerformUpgrade non è riuscito.LD_CXSUM.dtsx 0 0

Ho il componente nella casella degli strumenti e posso trascinarne un altro nell'area del flusso di dati e non sembra avere alcun problema.

Questo è SQL Server 2005 e Visual Studio 2005 su entrambe le macchine.

Sulla seconda macchina, posso creare un pacchetto da zero e verrà caricato sulla macchina che ha creato il componente (ma l'icona è l'icona del componente utente standard, la stessa che era sulla seconda macchina).Se creo un pacchetto da zero sulla macchina di compilazione, avrà l'icona corretta, ma fornisce il messaggio di aggiornamento sulla macchina non di compilazione.I file sono identici nella directory dei componenti, hanno lo stesso ID della classe del componente e sono registrati nel GAC.

Ho controllato manualmente i file dtsx controllando l'XML e nei pacchetti creati sulla macchina di compilazione e sulla macchina non di compilazione, l'ID classe e la chiave pubblica sono identici tra le macchine.

Cosa può causare questo?

È stato utile?

Soluzione

In genere questo significa che il componente è stato aggiornato dopo che il pacchetto è stato salvato, e quindi è il numero di versione sbagliata. Dovrai aggiungere nuovamente il componente, purtroppo 1 .

Si può essere in grado di salvare il pacchetto come una nuova versione e provare la migrazione che. Questo potrebbe risolvere il problema del l'aggiornamento automatico chiamato (e, successivamente, in mancanza).

Altri suggerimenti

Sei sicuro al 100% che la copia del componente nella GAC ​​corrisponda alla copia nella cartella Programmi\Microsoft SQL Server\90\DTS\PipelineComponents?La copia GAC ​​viene utilizzata in fase di esecuzione e la copia in PipelineComponents viene utilizzata dall'IDE VS.Se stai utilizzando un computer x64, mi assicurerei di copiarlo nella cartella PipelineComponents sia nella normale cartella Programmi che nella cartella x86.

Comprese strumenti client SDK e Strumenti client Backward Compatibility nella installazione di SQL Server risolto il problema di aggiornamento per me.

Ho avuto lo stesso problema, il modo intorno a questo per me è stato quello di distribuire l'intero progetto, piuttosto che un singolo pacchetto. Questo ha risolto il problema e ha consentito il pacchetto per l'esecuzione come normale.

Ho avuto lo stesso problema e la mia soluzione è la stessa di quella da @AppleG. Il problema è stato generato da distribuire un unico pacchetto, piuttosto che l'intero progetto. Il progetto è stato distribuito in precedenza da un altro sviluppatore, molto probabilmente con una versione leggermente diversa di Visual Studio o la distribuzione guidata. Poi ho schierato dopo un solo pacchetto dal mio VS.

In conclusione, la distribuzione l'intero progetto di nuovo ha risolto il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top