Sintomi
Considerare lo scenario descritto di seguito:
-
Si dispone di un server collegato in Microsoft SQL Server 2008 R2.
-
Nel server collegato è presente una tabella con una colonna di tipo smalldatetime .
-
Per inserire un record contenente dati di tipo DateTime nella tabella, è possibile eseguire un'istruzione Insert o Insert into .
In questo scenario l'istruzione non riesce. Inoltre, viene visualizzato il messaggio di errore seguente:
Il provider OLE DB "SQLNCLI10" per il server collegato "LinkServerName " ha restituito il messaggio "errori generati da operazioni OLE DB in più passaggi. Selezionare ogni valore di stato OLE DB, se disponibile. Nessun lavoro è stato fatto. ". Msg 7344, livello 16, stato 1, provider OLE DB linea 1Il "SQLNCLI10" per il server collegato "LinkServerName" non è stato possibile inserire nella tabella "TableName" a causa della colonna "ColumnName". La conversione non è riuscita perché il valore dei dati ha traboccato il tipo di dati usato dal provider.
Causa
Questo problema si verifica a causa di un problema di mapping dei tipi di dati in SQL Server.
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2008 R2 Service Pack 2
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 3. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2 Service Pack 2, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2754552 Pacchetto di aggiornamento cumulativo 3 per SQL Server 2008 R2 Service Pack 2Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Service Pack 2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2730301 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 2
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Soluzione alternativa
Per risolvere il problema, usare uno dei metodi seguenti:
-
Eseguire il cast dei dati di tipo DateTime nel tipo smalldatetime nell'istruzione.
-
Modificare la colonna tipo smalldatetime nel tipo DateTime nel server collegato.