Domanda

Ho un pacchetto di SSIS che legge un file Excel (Fonte Data Flow) e trasferire i dati a SQL Server utilizzando OLEDB Destinazione pacchetto di Data Flow item.This viene eseguito da un'applicazione .NET utilizzando il modello oggetto SSIS. Il pacchetto memorizzato in un file system all'interno della sottocartella dell'applicazione.

Il pacchetto funziona bene sulla mia macchina di sviluppo / test both.Both queste macchine ha win2k3 32bit. La SSIS è stato costruito in un ambiente a 32 bit BIDS.

Quando ho Déployé questa applicazione su macchina di produzione che ha edizione win2k3 x64 standard di ottengo l'errore

Si è verificato un errore OLE DB. Codice di errore: 0x80040154. Un record OLE DB è disponibile. Fonte: "OLE DB Componenti Microsoft Service" Hresult: 0x80040154 Descrizione: "Classe non registrata". La chiamata di metodo AcquireConnection alla gestione connessione "Excel Connection Manager" non riuscita con il codice di errore 0xC0202009. componente "Fonte Excel" (630) non convalida e ha restituito il codice di errore 0xC020801C.

Ho letto in altri post che l'impostazione della proprietà Run64BitRuntime del progetto (durante la fase di progettazione) risolve il problema durante l'esecuzione da offerte.

Come faccio a impostare questa proprietà tramite modello a oggetti SSIS.

Ecco la parte del codice che esegue il pacchetto

   _application = New Application()
   _package = New Package()
   _package = _application.LoadPackage(packageName, Nothing)
   _updateResult = _package.Execute()

Grazie

Masood

È stato utile?

Soluzione

La proprietà Run64BitRuntime applica solo al Confezionato esecuzione all'interno di BIDS. Non v'è alcuna necessità di impostare questa proprietà durante l'esecuzione al di fuori di BIDS.

Credo che problema è che durante l'esecuzione in codice, il pacchetto è in esecuzione in modalità a 64 bit, tuttavia, Excel non supporta questa. Al fine di rendere questo lavoro è necessario sborsare per lanciare la versione a 32 bit di DTExec.

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