2014-11-03 10 views
6

Il nostro server di sviluppo ha SQL Server 2008 R2 a 64 bit con SSIS. Per poter importare file XLSX direttamente da T-SQL (tramite OPENROWSET), abbiamo installato sul server di sviluppo il Microsoft Access Database Engine Redistributable 64-bit. Il server ha già installata la versione a 32 bit, quindi l'abbiamo installata con l'opzione/passive.SSIS e Motore di database Microsoft Access a 64 bit

Da quando ciò accade, i nostri pacchetti esistenti stanno fallendo. Uno di loro riferisce

The step did not generate any output. The return value was unknown. The process exit code was -1066598274. The step failed.

chiedo solo se qualcuno altro ha configurato correttamente il loro server per essere in grado di utilizzare OPENROWSET per file XLSX e hanno anche SSIS sullo stesso server o Qualcuno sa se questa configurazione non è possibile?

Modifica: Devo aggiungere che i pacchetti in errore vengono eseguiti da un processo di SQL Agent. Quando mi collego al Gestore dei servizi di integrazione del server tramite SQL Server Management Studio ed eseguo il pacchetto (navigando nel pacchetto, facendo clic con il pulsante destro del mouse e selezionando Esegui pacchetto), viene eseguito correttamente.

+1

RUnignolo facendo clic con il pulsante destro del mouse su SSIS Manager e eseguendolo in SQL Agent sono molto diversi. L'account utente è diverso e la posizione di esecuzione del pacchetto è diversa. Quando fai clic con il pulsante destro del mouse ed esegui, sei connesso al server o sei su un client remoto? Si verificano errori di "non riuscita ad acquisire la connessione" quando non riesce? Questa connessione excel è l'unica connessione? –

+0

Cosa accade quando [specificare la riga di comando DTEXEC in SQL Agent per utilizzare la versione a 32 o 64 bit] (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/289e29ad-26dc -4f90-bad4-ffb86c76e5f9/excel-error-64bit-versione-di-SSIS)? Vedere anche [here] (https://technet.microsoft.com/en-us/library/ms141766 (v = sql.105) .aspx) per altri possibili mezzi per scegliere quale versione eseguire. –

+0

@ Nick.McDermaid "Quando si fa clic con il pulsante destro del mouse e si esegue si accede al server o si è su un client remoto?" Su un client remoto "Stai ottenendo errori di 'non riuscire ad acquisire la connessione' quando fallisce?" No. "Questa connessione Excel è l'unica connessione?" No. Il problema è sul server di produzione, abbiamo molte connessioni lì. –

risposta

0

Sì, è possibile. È necessario specificare di utilizzare il runtime a 32 bit nella fase di lavoro. Aprire ogni fase del processo che esegue uno dei pacchetti SSIS e fare clic su "Opzioni di esecuzione". Seleziona la casella in basso "Usa runtime a 32 bit".

+0

, l'ho fatto per ottenere l'errore. In realtà, "Usa runtime a 32 bit" risolve un altro errore: SSIS DTS_E_OLEDB_EXCEL_NOT_SUPPORTED –

1

Personalmente ho rinunciato a provare a supportare questo scenario - Penso che l'installazione "/ passiva" sia un hack che non funziona e in genere interrompe l'altra installazione di ADE. Non svuoterei completamente ADE e quindi re-installò solo 32 bit. Vorrei quindi forzare tutti i pacchetti eseguiti tramite SQL Agent per l'esecuzione come 32 bit (come descritto da Brian).

In seguito a questa procedura si spera di risolvere i problemi, poiché è possibile aprire il pacchetto in Visual Studio e utilizzerà lo stesso driver a 32 bit. Si utilizzerà anche un driver coerente durante l'esecuzione da SSMS (anche a 32 bit).

Sì, è possibile che si verifichi un problema di prestazioni, ma le prestazioni SSIS sono in genere limitate in una certa misura dall'I/O o dalla velocità di rete, non solo dalla velocità effettiva del motore.

0

Avevo "Il passaggio non ha generato alcun output.Il valore di ritorno era sconosciuto.Il codice di uscita del processo era -1066598274. Anche il passaggio non riuscito".
Ho trovato una soluzione per me: ho passato dall'uso di xlsx a xls e l'errore non è stato più generato.