Ssis errore su suddivisione condizionale

mercoledì 17 febbraio 2010 - 13.11

memmo77 Profilo | Expert

Ho messo una suddivisione condizionale nel mio ssis. Con questo controllo:

((DT_I4)(ENTI_SOFF) == 1 &&
(DT_I4)(NUM_ENTI) == 2 &&
(DT_I4)(SCONF) > 0) ||
((DT_I4)(IMP_SOFF) >= ((DT_I4)(UTIL_COMPL) * 70) / 100) ||
((DT_I4)(SCONF) >= ((DT_I4)(UTIL_CASSA_NO_SOFF) * 10) / 100) ||
((DT_I4)(ENTI_SOFF) > 1 &&
(DT_I4)(IMP_SOFF) >= ((DT_I4)(UTIL_CASSA) * 10) / 100)

Quando mi arrivano i dati ottengo questo errore:

[CONTROLLO_SOFF_POT [8782]] Errore: La grandezza del risultato di un'operazione binaria causa un overflow delle dimensioni massime previste per il tipo di dati del risultato.

[CONTROLLO_SOFF_POT [8782]] Errore: Codice di errore SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Errore di "componente "CONTROLLO_SOFF_POT" (8782)" con codice 0xC0049033. La disposizione per le righe con errori in "output "CONTROLLO_SOFF_POT" (9184)" prevede l'interruzione in caso di errore. Si è verificato un errore nell'oggetto specificato del componente specificato. Possono essere presenti ulteriori messaggi di errore prima di questo con informazioni aggiuntive sull'errore.

[SSIS.Pipeline] Errore: Codice di errore SSIS DTS_E_PROCESSINPUTFAILED. Errore del metodo ProcessInput nel componente "CONTROLLO_SOFF_POT" (8782) con codice 0xC0209029 durante l'elaborazione dell'input "Input suddivisione condizionale" (8783). Il componente specificato ha restituito un errore dal metodo ProcessInput. L'errore è specifico del componente ma è irreversibile e causerà l'interruzione dell'esecuzione dell'attività Flusso di dati. Possono essere presenti ulteriori messaggi di errore prima di questo contenenti informazioni aggiuntive sull'errore.

Come posso risolvere? Grazie


-------------------------------------------------------------------------------------------
Scusate Ho risolto sostituendo le conversioni per gli importi con DT_NUMERIC,24,12
Ciao
-------------------------------------------------------------------------------------------

alx_81 Profilo | Guru

>Scusate Ho risolto sostituendo le conversioni per gli importi
>con DT_NUMERIC,24,12
>Ciao
Ciao, vorrei solo dirti che per capire fino a dove arrivano i valori che passi, potresti usare i data viewers.
http://technet.microsoft.com/it-it/library/cc825606.aspx

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

memmo77 Profilo | Expert

>>Ciao, vorrei solo dirti che per capire fino a dove arrivano i valori che passi, potresti usare i data viewers.

Non capisco, uso i data viewers ma non vedo fino a dove arrivano i valori. Ciao

alx_81 Profilo | Guru

>Non capisco, uso i data viewers ma non vedo fino a dove arrivano i valori. Ciao
Certo che li vedi, vedi che numero hai all'interno e poi, basandoti sul datatype come da documentazione, ottieni i range.
Era solo un appunto, nulla di che

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

memmo77 Profilo | Expert

OOOkkkk ciao grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5