Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Microsoft distribuisce Microsoft SQL Server 2005, Microsoft SQL Server 2008, e le patch di Microsoft SQL Server 2008 R2 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2005, Microsoft SQL Server 2008 o SQL Server 2008 R2 precedente correggere rilascio.

Sintomi

Si consideri lo scenario seguente:

  • Si esegue un pacchetto di Microsoft SQL Server 2005, Microsoft SQL Server 2008 o SQL Server 2008 R2 Integration Services (SSIS) su un computer che dispone di una delle installazioni di.NET Framework riportati di seguito:

    • Il.NET Framework 2.0 Service Pack 2 (SP2)

    • Il.NET Framework 3.5 Service Pack 1 (SP1)

  • Il pacchetto SSIS utilizza un driver ODBC di terze parti che importa dati di tipo carattere.

Tuttavia, quando si esegue il pacchetto SSIS, ricevere i messaggi di errore seguente:

[ADO NET Source [1424]] Errore: Il codice di errore SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Componente"ADO NET Source"(1424)" non riuscita perché si è verificato il codice di errore 0x80131937, e la disposizione di riga di errore "colonna di output"nomecolonna"(numero)" specifica un errore in caso di errore. Si è verificato un errore sull'oggetto specificato del componente specificato. Potrebbero essere presenti messaggi di errore registrati prima di questo metodo con ulteriori informazioni sull'errore.

Errore 0xc0209029: Attività di flusso di dati: "Componente"nomecomponente"(1)" si è verificato il codice di errore 0x80131937 non riuscita....

[ADO NET Source [1424]] Errore: Il componente "ADO NET Source" (1424) non è riuscito a elaborare i dati. Componente della pipeline ha restituito il codice di errore HRESULT 0xC0209029 da una chiamata al metodo.

[SSIS. Errore pipeline]: il codice di errore DTS_E_PRIMEOUTPUTFAILED di SSIS. Il metodo PrimeOutput su codice di errore restituito (1424) "ADO NET Source" componente 0xC02090F5. Il componente ha restituito un codice di errore quando il motore della pipeline chiamato PrimeOutput(). Il significato del codice di errore è definito dal componente, ma l'errore è irreversibile e la pipeline di esecuzione interrotta. Potrebbero essere presenti messaggi di errore registrati prima di questo metodo con ulteriori informazioni sull'errore.

Il problema riguarda il driver ODBC accessibili attraverso il provider ODBC gestito quando sono vere le seguenti condizioni:

  • Viene chiamata la funzione di ExecuteReader dal parametro CommandBehavior . Questa chiamata e i parametri vengono utilizzati nelle seguenti circostanze:

    • Quando un pacchetto SSIS di SQL Server 2005 legge i dati da un'origine di DataReader o quando un pacchetto SSIS di SQL Server 2008 legge i dati da un'origine di dati ADO.NET gestita.

    • L'origine dati non è configurato per reindirizzare i valori di errore e il troncamento.

  • Viene chiamata la funzione di OdbcDataReader.IsDbNull . Il pacchetto SSIS utilizza questo metodo per determinare se il valore in un campo è NULL o meno.

  • Viene chiamato uno dei seguenti funzioni:

    • La funzione OdbcDataReader.GetBytes viene chiamata per ottenere determinati tipi di dati, ad esempio DT_BYTES, il provider ODBC gestito.

    • La funzione OdbcDataReader.GetChars viene chiamata per ottenere determinati tipi di dati di stringa, ad esempio DT_WSTR, dal provider ODBC gestito.

Causa

Il.NET Framework 2.0 SP2 e.NET Framework 3.5 SP1 introduce una modifica nel provider ODBC gestito in base al quale le stringhe vengono letti dal driver ODBC nativi nello scenario descritto nella sezione "Sintomi". Questa modifica, il provider ODBC gestito che viene chiamato il driver ODBC nativo utilizzando la funzione API SQLGetData utilizza un buffer di dimensione 0. Il driver ODBC compatibili non presentano problemi in questa chiamata. Tuttavia, i driver ODBC non conformi potrebbero non riuscire in queste circostanze. Per un driver compatibile con ODBC, la funzione SQLGetData API restituisce SUCCESS_WITH_INFO quando un buffer di dimensione 0 viene rilevato. Per un driver ODBC non conforme, la chiamata restituisce NO_DATA.

Risoluzione

Informazioni sull'hotfix

Un hotfix supportato è disponibile da Microsoft. Tuttavia, questo hotfix è destinato esclusivamente alla correzione del problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verificano questo problema specifico. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Se il problema non causa gravi difficoltà, si consiglia di attendere il successivo aggiornamento software contenente tale hotfix.

Se l'hotfix è disponibile per il download, è presente una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se questa sezione non viene visualizzata, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota: Se si verificano ulteriori problemi o se è necessaria attività di risoluzione aggiuntiva, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota: Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua, è perché un aggiornamento rapido non è disponibile per tale lingua.

Prerequisiti

È necessario disporre di.NET Framework 2.0 Service Pack 2.

Informazioni sul riavvio

Non è necessario riavviare il computer dopo avere applicato questo hotfix.

Informazioni del Registro di sistema

Non è necessario modificare il Registro di sistema.

Informazioni sui file

Questo hotfix contiene solo i file necessari per correggere i problemi elencati in questo articolo. Questo hotfix potrebbe non contenere tutti i file che sono necessari per aggiornare completamente un prodotto all'ultima build. Versione inglese di di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo.

.NET Framework 2.0 per Windows 2000, Windows Server 2003, Windows XP, versioni a 32 bit

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

.NET Framework 2.0 per Windows 2000, Windows Server 2003, Windows XP x64 versioni

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

System.data.dll

2.0.50727.4063

3,008,512

18-

23:51

x64

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

.NET Framework 2.0 per Windows 2000, Windows Server 2003, versioni di Windows XP, IA-64

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

System.data.dll

2.0.50727.4063

3,234,816

19-

01:09

IA-64

.NET Framework 2.0 per le versioni a 32 bit Windows Vista, Windows Server 2008,

Nome del file

Versione del file

Dimensione del file

Data

Ora

System.data.dll

2.0.50727.4400

2,933,760

10-Sep-2009

11:54

.NET Framework 2.0 per Windows Vista, Windows Server 2008 x64 versioni

Nome del file

Versione del file

Dimensione del file

Data

Ora

System.data.dll

2.0.50727.4400

3,008,512

10-Sep-2009

11:54

.NET Framework 2.0 per Windows Vista, Windows Server 2008, versioni IA-64

Nome del file

Versione del file

Dimensione del file

Data

Ora

System.data.dll

2.0.50727.4400

3,234,816

10-Sep-2009

11:54

Soluzione alternativa

Per risolvere questo problema, utilizzare uno dei metodi descritti di seguito.

Metodo 1

Modificare il pacchetto SSIS per configurare l'errore e il reindirizzamento di troncamento sull'origine DataReader o sull'origine dati ADO.NET gestito. Dopo aver modificato il pacchetto SSIS per reindirizzare l'output di errore in una destinazione, il pacchetto verrà eseguito correttamente anche se la destinazione non scrivere alcuna riga. A tale scopo, attenersi alla seguente procedura.

Nota: I passaggi seguenti presuppongono che si sta utilizzando un pacchetto SSIS di SQL Server 2005 che legge i dati da un'origine di DataReader.

  1. Aprire il pacchetto SSIS in SQL Server Business Intelligence Development Studio.

  2. Aprire la finestra di dialogo Editor avanzato per DataReader origine nella finestra di progettazione del flusso di dati.

  3. Fare clic sulla scheda proprietà Input e Output e quindi espandere il nodo DataReader Output nella struttura di input e output .

  4. Espandere il nodo delle Colonne di Output .

  5. Fare clic su ogni colonna in corrispondenza del nodo di Colonne di Output e quindi esaminare la proprietà DataType . Per ogni colonna la cui proprietà di tipo di dati DT_WSTR, DT_BYTES, DT_NTEXT o DT_IMAGE, modificare le seguenti due proprietà:

    • Impostare la proprietà ErrorRowDisposition su RD_RedirectRow.

    • Impostare la proprietà TruncationRowDisposition su RD_RedirectRow.

  6. Fare clic su OK per salvare le modifiche.

  7. Nella finestra di progettazione del flusso di dati, aggiungere una nuova destinazione. Ad esempio, aggiungere una destinazione file flat o a una destinazione di SQL Server.

  8. Utilizzare la freccia rossa dell'origine di DataReader per collegarlo alla destinazione appena aggiunta. Questa operazione indirizzerà le righe di errore e le righe di troncamento di destinazione per salvare le righe di errore.

  9. Ripetere i passaggi da 1 a 8 per tutte le attività del flusso di dati ODBC access le colonne in stringa o un'immagine e che non con i messaggi di errore menzionati nella sezione "Sintomi".

Metodo 2

Disinstallare il Service Pack 2 di.NET Framework 2.0 o.NET Framework 3.5 SP1. Tuttavia, si consiglia di non disinstallare un service pack perché ciò comporta la rinuncia di ottimizzazioni delle prestazioni che il service pack offre, miglioramenti delle funzionalità e affidabilità.



Per ripristinare il sistema allo stato in cui si trovava prima di installare il.NET Framework 2.0 SP2 o.NET Framework 3.5 SP1, attenersi alla seguente procedura:

  1. Nel Pannello di controllo fare doppio clic su Installazione applicazioni.

  2. Individuare Microsoft.NET Framework 3.5 SP1 e quindi disinstallarlo.

  3. Individuare Microsoft.NET Framework 3.0 SP2 e quindi disinstallarlo.

  4. Individuare Microsoft.NET Framework 2.0 SP2 e quindi disinstallarlo.

  5. Reinstallare la versione originale di.NET Framework 3.5. Questo passaggio consente di reinstallare il.NET Framework 2.0 SP1 e.NET Framework 3.0 SP1. Per ottenere di 3.5 di.NET Framework, visitare il seguente sito Web Microsoft:

    http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

Metodo 3

Contattare il fornitore del driver ODBC di terze parti per determinare se il fornitore dispone di un aggiornamento del driver risolvere il problema.

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×