Solved

decimal being rounded in v2008

Posted on 2009-05-04
8
185 Views
Last Modified: 2013-11-10
Odd little thing I just noticed....
my datasource is SQL v2000, 'price' is the attribute in question, it is DECIMAL 9(18,8)
my destination is SQL v2008, 'price' is the same, it is DECIMAL 9(18,8)

I'm using v2008 SSIS to copy the data from source to destiniation (until we upgrade and get off the v2000 box).  it's a flat file source, created from a simple bcp out of the v2000 box, into sql server destination.  that's it.  no conversions, no nothing.

but get this... my price is being rounded

source:         96.78000000
destination:  96.00000000

i've checked the current flat file.   the price values are in there just fine, non-rounded.
and yes, I am certain that I am looking at the same record in source vs destination.  there's a TON of data in this thing.  i transferred upwards of 5M this morning, i just noted that price thing, so i've dug a little deeper and find that NONE of the prices equate.  not just today's 5M, but everything I've checked.  they've all been rounded down in the v2008 instance.  like this:

source:          72.33000000
destination:   72.00000000

any ideas at all?
0
Comment
Question by:dbaSQL
  • 3
  • 3
  • 2
8 Comments
 
LVL 60

Expert Comment

by:chapmandew
ID: 24297252
You need to put a conversion task in your ssis package to convert it to 4 decimal spots.
0
 
LVL 17

Author Comment

by:dbaSQL
ID: 24297335
But why, chap?  the attribute is the same in the source and destination.  why would a conversion be necessary?
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24297358
because SSIS does some funky stuff sometimes....
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
LVL 51

Accepted Solution

by:
Mark Wills earned 500 total points
ID: 24317366
Should carry the decimals...

Double check the data types and scale... Or read flat file as a string and cast as decimal. Also look at using numeric datatype...
0
 
LVL 17

Author Comment

by:dbaSQL
ID: 24373357
>>Double check the data types and scale...
You are correct, Mr. Wills.  Having checked the datatype, i was numeric.  i'm unsure how that occurred, but i changed it within the source output definition.  had to reload everyting, but all is well.


thank you both for looking
0
 
LVL 51

Expert Comment

by:Mark Wills
ID: 24375591
Happy to help....

BTW, how is that machine performing now ?
0
 
LVL 17

Author Comment

by:dbaSQL
ID: 24375633
Performing exceptionally well.  (knock on some wood)
0
 
LVL 51

Expert Comment

by:Mark Wills
ID: 24375726
Good to hear :)
0

Featured Post

Microsoft Certification Exam 74-409

VeeamĀ® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
I have a large data set and a SSIS package. How can I load this file in multi threading?
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question