Question

Text was truncated error in SSIS package

Asked by: stelth240

I can't seem to figure out the answer to this problem.  I have a column in a flat file that keeps giving me the truncation error:

Data conversion failed. The data conversion for column "SORTL" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".

The column size should be 10 characters in length.  It has an en-dash in the string that's causing the error, but I verified that the en-dash is part of the 1252 code page, which is what I'm using in my Flat File Connection Manager.  I verified that the Flat File Connection Manager shows string, 10 chars on both the External and Output Columns.  The destination table is varchar(10).  The flat file is delimited by pipes and this is one of the examples that's failing (with pipes):

|OLD  MICH|

Again, the dash is not a regular dash, it's an en-dash.  The ascii code for the regular dash is 45, and the en-dash is 150.

I've tried upping the size of the column to 20, 30, 40.  I've tried changing it to unicode for the same sizes, and still no change.  It's failing on the flat file source so it's there that I think something's wrong.

Is there anything different with the en-dash or the fact that the data has an en-dash while being a full 10 characters long?  I'm stumped.  This is also happening on another flat file for a different package.  The column size is 40 characters, but there's no en-dash in that one, and the one record that's failing is taking up the whole 40 characters.

Thanks in advance for any help.  If I can provide any more information, let me know.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-08-09 at 18:54:19ID24638806
Tags

SSIS text truncation collation code page

Topics

SSIS

,

MS SQL Server

,

SQL Server 2005

Participating Experts
3
Points
500
Comments
18

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Varchar(Max) is being truncated to 8000 characters
    Hi Experts, I have this query below... declare @t varchar(max) set @t = replicate(cast('pao' as varchar(max)),8000) select len(@t) select cast(@t as varchar(max)) The result is: 24000 papaopao.... <--- truncated to 8000 characters, it should displ...
  2. Truncated unicode
    I am having trouble with porting a WinCE Visual C++ project over to Visual Studio. In both projects, all text needs to be in unicode. All is well in the WinCE project but in trying to bring it over to Visual Studio all of my calls to CString::LoadString(nID) return a string ...
  3. truncation error in SSIS
    Data from sql database to Excel [Data Conversion [585]] Error: Data conversion failed while converting column "Customer Desscription" (442) to column "Copy of Customer Description" (620). The conversion returned status value 2 and status text "The...
  4. SSIS Truncation Problem
    I have a truncation problem. I have enlarged the offending field in the destination table and still I get the error. Any Ideas??

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: pven13Posted on 2009-08-10 at 01:08:18ID: 25057898

What kind of task are you trying to perform? Are you moving data from source file to destination table? Or do you use another task inbetween? Have you tried using a Data Conversion transformation? That often solves problems like these. Are you sure your source file is ASCII? If it is UTF8, then you could try converting it to ASCII or Unicode (and in case of Unicode, use an nvarchar column). By the way, your example  OLD  MICH is 11 characters, not 10...

 

by: HoggZillaPosted on 2009-08-10 at 08:03:05ID: 25060550

Open the connection manager for the file. Go to Advanced tab, highlight the suspect column and you can change the length there. I believe the default is 50.

Let me know,

HoggZilla

 

by: HoggZillaPosted on 2009-08-10 at 17:24:40ID: 25065345

I am testing the error now, will follow up with my findings.

HZ

 

by: HoggZillaPosted on 2009-08-10 at 17:41:00ID: 25065411

I was not able to reproduce the error. I created a sample txt file with en-dash and loaded to a table in SQL Server successfully.

ZILLA|OLD  MICH|HOGG
EE  |OLD  MICH|  STEVE
A3E3|OLDMICH|HOGG

Destination Table: see pic

 

by: stelth240Posted on 2009-08-10 at 19:19:20ID: 25065726

pven13,

I'm trying to load in a flat file into a SQL Server database.  The data is being piped from a flat file source through a Data Conversion component, and into a OLE DB Destination component.  I verified that the flat file source is where the issue is, and I can even put a trash destination right after the Flat File source, and it will still fail.  I'm sure the source file is ASCII.  I switched it to UTF-8 but it won't even load at that point.  I also tried switching it to Unicode.  The data I entered into Experts Exchange didn't go over correctly though, so it doesn't look right.  It's supposed to be |OLD - MICH| (not including the pipes), which is ten characters.  But the - is actually an en-dash (ASCII code 150).

HoggZilla,

Let me know if you can find anything.  I've been testing so many different things with this but this file just won't load.  I know that if I change the en-dash to a regular dash, it loads ok, so it seems to be related to that dash.  But this data is coming from SAP so it has to come through this way.  Other columns pull in the en-dash with no problem; just this column doesn't.

 

by: acperkinsPosted on 2009-08-10 at 19:28:37ID: 25065755

You need to look at the text with a Hex editor.  Until you do that all you are doing is assuming.  If you cannot do that, then upload a sample of the text file here and we can confirm.

 

by: stelth240Posted on 2009-08-10 at 19:29:38ID: 25065760

Someone told me I had to try recreating the connection manager and the flat file source from scratch, so that might be what I have to do.  There's over 150 columns in this flat file though so I'm hoping I don't need to go through that.

Is the en-dash considered part of code page 1252?  HoggZilla, did you use an nvarchar or varchar data type, and did you set the column size to 10?  If so, I might just have to go in and redo the component.

I'm going to try a test like you did and see if it works that way.  So at least I'll know it's not the text file.  I'll respond soon.

 

by: stelth240Posted on 2009-08-10 at 19:49:20ID: 25065853

acperkins,

Here's the output of a hex editor:

|OLD ⬠MICH|

7C 4F 4C 44 20 E2 80 93 20 4D 49 43 48 7C

The en-dash ends up showing three characters: an a with a caret, a euro sign (I think), and an apostrophe.  Just in case Experts Exchange doesn't show them.  Not sure what this means but I do see all the other values are accounted for.

 

by: acperkinsPosted on 2009-08-10 at 20:45:28ID: 25066039

>>The en-dash ends up showing three characters<<
Yep.  That is the cause of your error.  You will have to increase your field definition to 12.

 

by: acperkinsPosted on 2009-08-10 at 20:49:36ID: 25066054

Incidentally ASCII 150 looks like this:
|OLDMICH|
7C 4F 4C 44 96 4D 49 43 48 7C

Which is in fact 10 bytes (within the pipe symbols)

 

by: HoggZillaPosted on 2009-08-11 at 04:34:15ID: 25067826

Post a sample file and your package. Save the package with a .txt extension to post. As I said, I loaded the same data you posted with no issues. Something in your setup and I will tell you what it is when I see your package.

Thanks, HZ

 

by: stelth240Posted on 2009-08-13 at 04:52:42ID: 25087153

Here's my package and a sample file.  I have all the records in there that are failing and a couple that aren't are at the bottom.  The couple that aren't don't have the en-dash; at least not in the SORTL field that I'm having trouble with.  The field that has the name (it might be NAME1) has en-dashes for the rows that are failing but it's not failing on that field.

acperkins,

For your first response back about the size, I tried setting it to 11, 12, 20, 30, 40, and none of them worked.  I thought maybe there was something it was doing but it didn't help.  Also on your second post, the data is missing the spaces between the en-dash.

Take a look and let me know what you guys think.  I might end up calling the people responsible for the data and have them change the en-dashes to regular dashes if it gets us our data.  Either way I'd love to know if this is possible.

 

by: acperkinsPosted on 2009-08-13 at 07:23:45ID: 25088547

It is like you stated originally, they are not using ASCII 150 and adding additional characters.

 

by: stelth240Posted on 2009-08-13 at 08:26:27ID: 25089461

acperkins,

I'm not sure what you mean by your last comment.  When you said they're not using ASCII 150 are you talking about the records that are succeeding?  Because they definitely are using ASCII 150 for the records that are failing (the SORTL column at least).  Also, what additional characters are they adding?

 

by: acperkinsPosted on 2009-08-13 at 10:08:48ID: 25090585

I will post the relevant part of your file at the end of this comment.

But if you open it up in a hex editor the first 6 records do not contain ASCII 150 and contain extra characters.  The last 2 records have dashes and not ASCII 150 character.

In fact there are no ASCII 150 (0x96) character anywhere in that file.

It should be also noted that the file contains a BOM, I am not sure if you noticed.  This could be significant in how it is read by most text editors.  Again a Hex editor is your best friend.

|OLD ⬠MICHIGAN TEAM ⬠COMM ONLY    |
|OLD ⬠MICHIGAN REGION ⬠COMM ONLY  |
|OLD ⬠MEIJER ⬠COMM ONLY           |
|OLD ⬠SPARTAN ⬠COMM ONLY          |
|OLD ⬠MICH/IND ⬠COMM ONLY         |
|OLD ⬠NORCAL MKT ⬠COMM ONLY       |
|OLD - PHOENIX BRK - COMM ONLY      |    
|OLD - PACIFIC NW BRK - COMM ONLY   |    
                                              
1:
2:
3:
4:
5:
6:
7:
8:

Select allOpen in new window

 

by: stelth240Posted on 2009-08-14 at 21:22:17ID: 25104197

acperkins,

Thanks for taking a look at this for me.  I wasn't aware there was a BOM at the beginning of the file, but I hope SSIS is able to ignore it when importing the data.  What's interesting is I opened the original file in notepad and removed all the records before the YC124 record.  So there should be no BOM in the file at that point.  If there is, it must be because notepad ignores it and deleting info does not delete it.

Also, I took the flat file (the same text file that I uploaded) and pulled out the character that in the hex editor created the â¬.  I pasted it into SQL Server and did an ASCII() check on it and it came back as 150.  I also copied it and pasted it into Word and checked it out, and it's most definitely an en-dash.  I created a macro in Word that created a string with an en-dash and then compared that string with the en-dash I copied in and they matched.

I think I'm just confused as to the different characters that keep appearing on hex editors.  I used two online editors.  One showed two dashes like -- in place of the single dash, and one showed three periods like ... which I think is because it couldn't show special characters (the hex value of the first period was E2, the same as the â.  The last two didn't look like ¬ or anything close to it.  Why is everything reading it differently and what is SSIS trying to do with it.  When I check the preview of the data, I see just a single dash and none of the other characters I keep seeing.

 

by: acperkinsPosted on 2009-08-15 at 08:50:08ID: 25105812

>> If there is, it must be because notepad ignores it <<
I am not usre if Notepad uses it to interpret the file or ignores it.  I suspect the last.

>>deleting info does not delete it.<<
Correct, it does not.  I just checked. The following is still there:


>>I think I'm just confused as to the different characters that keep appearing on hex editors.<<
That is because any characters greated then 128 fall in the category of the Extended ASCII values and there are some debate as to which is the correct one, although I believe this has now been made standard.  The easiest way to find out what ASCII value is represented with a given font is to use the age-old trick of ALT+nnn (where nnn is typed on your numeric key pad.  In order to get ANSI values it is ALT+nnnn.  So for example:
ASCII:
Alt+150 = û
Alt+150 = ù

ANSI:
Alt+0150 =  (the infamous en dash)
Alt+0151 =  (em dash)

Here is a good link:
http://homepages.rootsweb.ancestry.com/~george/ansi_ascii_character_chart.html

Notice how there is no equivalent of the en dash or em dash in ASCII.

I would focus on the actual Hex or decimal value and this may get you out of trouble as far as how fonts represent certain characters.

 

by: stelth240Posted on 2009-08-17 at 07:37:39ID: 25114822

I actually had the data team change all the en-dashes to regular dashes and the data loads without a problem now.  We have a process in place now to notify the business if an en-dash is present in the data.  Hopefully one day I'll find out how I can get these en-dashes into SSIS but thanks for everyone's help.  I think acperkins, you were on the right track with the last comment and I may take another look at collation and code pages to see if there's something else I can do down the road.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...