On 2024-02-28 21:22 +0100, Anthony Apollis wrote: > Please assist. I am using SSIS to read data from an Excel sheet into > Postgres. I have increased the column size a few times, just cant seem to > get the data in. Getting errors relating to destination column size. What is the data type of that column? > [Excel Source [24]] Error: System.Exception: SqlTruncateException: > Numeric arithmetic causes truncation.. RowNumber=1, ColumnName=Metric > Value [DataType=DT_NUMERIC,Length=0], Data=[Length=12, > Value=311116655.63] > at ZappySys.PowerPack.Adapter.SqlDataComponentBase.HandleException(Exception > ex) > at ZappySys.PowerPack.Adapter.SqlDataComponentBase.PrimeOutput(Int32 > outputs, Int32[] outputIDs, PipelineBuffer[] buffers) > at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 > wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, > IntPtr ppBufferWirePacket) Not sure what I'm looking at, but screenshots 1 and 2 say precision=19 and scale=18 which would be numeric(19,18). But value 311116655.63 shown in the error message requires a precision that is at least 9 digits larger than the scale: regress=# select '311116655.63'::numeric(19,18); ERROR: numeric field overflow DETAIL: A field with precision 19, scale 18 must round to an absolute value less than 10^1. regress=# select '311116655.63'::numeric(27,18); numeric ------------------------------ 311116655.630000000000000000 (1 row) -- Erik