Murali Uppangala
Murali Uppangala

Reputation: 904

Comma within fields in CSV file -import to DB using SSIS

I have a CSV file - it has many values with comma as a part of them. The commas within the fields will mislead my SSIS package making it seem like the row has more columns than previously.

How to resolve this?

Eg:

Name,Amount,Address
Me,20,000,My Home,India
you,23,300,Your Home,Where

here only 3 columns exist but SSIS assumes all commas used to separate fields. However, that is not the case: Amount column and Address column have extra commas.

Upvotes: 14

Views: 45934

Answers (4)

Jith
Jith

Reputation: 401

In the flat file connection manager editor, change the text quantifier to double quotes (") instead of <none>.

Flat File Connection Manager

This will take the content from one column as a single entity without splitting when there is a comma (,) in between text.

Hope this helped.

Upvotes: 2

Sykonba
Sykonba

Reputation: 71

I feel that a better way of doing this is by using a Derived column Transformation Editor in SSIS Data Flow, and changing the expression to surround the string with double quotes.

For instance if the column "Address" has records with commas, then create an expression such as

"\""+Address+"\""

in the Derived Column Transformation Editor.

I think this is a good option if you are not willing to transform the source.

Upvotes: 0

sakshi jain
sakshi jain

Reputation: 331

Use Text Qualifier in Flat file Connection Manager as ". This will separate only values out of quotes by commas. Your data from db will be enclosed in quotes.

Upvotes: 31

N West
N West

Reputation: 6819

You will need to ensure that all values in the file that have commas as part of the text are enclosed in double quotes ("). Then you can set the text qualifier in your flat file source, and the commas will be loaded as part of the string fields.

Upvotes: 4

Related Questions