C'è una colonna in Excel che dovrebbe essere testo, ma SSIS vede lì un testo numerico e lo rende automaticamente mobile a doppia precisione [DT_R8].
Posso cambiarlo manualmente nelle colonne External ed Output del ramo Output, ma l'output di errore semplicemente rifiuta di farmi cambiare la rispettiva colonna.
Error at Extract Stations [Excel Source [1]]: The data type for "output "Excel Source Error Output" (10)" cannot be modified in the error "output column "Group No" (29)".
Error at Extract Stations [Excel Source [1]]: Failed to set property "DataType" on "output column "Group No" (29)".
Ho provato a modificare il pacchetto xml. Ho provato il IMEX=1
e typeguessrow=0
ma niente di tutto ciò ha risolto il mio problema. Questo ha qualche correzione? Ci sono anche articoli che suggeriscono di modificare il registro in modo che Excel legga più delle 8 righe predefinite prima di indovinare il tipo di dati. Non voglio seguire questa strada perché anche se dovesse funzionare, dovrei modificare il registro sulla macchina su cui intendo eseguire il pacchetto.
Ad esempio, il campo Excel da importare nel campo SQL nvarchar
295.3
296.33
ma vengono scritti nella tabella SQL come
295.30000000000001
296.32999999999998
Ho inserito i visualizzatori di dati e i campi mostrano
295.3
296.33
fino all'esecuzione che è corretta, ma immagino che quando colpisce l'origine destinazione OLE DB in qualche modo lo converte in
295.30000000000001
296.32999999999998
che è sbagliato.
Ho anche valori come V321.1 e V213.34 per esempio che non sono assolutamente numeri interi e devono essere memorizzati come varchar.