Solved

SSIS Edit Flat Flie Source

Posted on 2012-03-28
14
450 Views
Last Modified: 2012-04-02
Is there a way to edit a FIXED flat file source, I need to trim 14 characters to the left before it goes to the destination.
0
Comment
Question by:decoded
  • 6
  • 6
  • 2
14 Comments
 
LVL 1

Expert Comment

by:mikho
Comment Utility
If you are familiar with .Net the easiest way to do this would be to create a "Transformation" script component and use code to strip the characters from the file .
0
 

Author Comment

by:decoded
Comment Utility
Not really...would you give me some help.
0
 
LVL 1

Expert Comment

by:mikho
Comment Utility
I dont code .Net myself :) , I only know its possible to do...

You could try to add a column with the 14 chars that you want to remove...
I think its in under the advanced settings on the task...

I'm not on my developer computer now so I cant check
0
 

Author Comment

by:decoded
Comment Utility
i dont think that would work. that would change the rows
0
 
LVL 21

Expert Comment

by:huslayer
Comment Utility
Hi,
Can you show an example of what you need to do, like a source and expected results? I don't get what do you say by FIXED flat file source, I need to trim 14 characters to the left before it goes to the destination.

Thanks
Jason
0
 

Author Comment

by:decoded
Comment Utility
Attahed is what I mean by fixed width.

but what i am try to remove is the first 14 characters of a file:

"date=20120213" 12364 xxxxx971 898  2645   567wr

in quotes the first 14 characters.

fixed file
0
 
LVL 21

Expert Comment

by:huslayer
Comment Utility
Oh, OK...so what's the problem then? just ignore the first 14 chars when you insert into your final destination.

or you can even read each row as ONE column, then use  a derived column to remove the first 14 chars

see attached
result.jpg
DCT.jpg
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:decoded
Comment Utility
The problem is that I need the first 14 characters of the first row only.
0
 
LVL 21

Expert Comment

by:huslayer
Comment Utility
oh I thought the opposite!!

then use expression substring(column, 1,14)  and that will get you the first 14 chars.
0
 

Author Comment

by:decoded
Comment Utility
This works however, its remove characters for all the rows.
0
 
LVL 21

Expert Comment

by:huslayer
Comment Utility
isn't that what you need ? or what's your actual requirement?
0
 

Author Comment

by:decoded
Comment Utility
attached is what i need to remove.

what need to be erase
i just need to remove whats highlighted then import into another text file.
0
 
LVL 21

Accepted Solution

by:
huslayer earned 500 total points
Comment Utility
OK, I think we could add a script task to create a row number and in the derived column we could use:     rownum ==1 ? substring(column,14,len(column)) : column

use the same example here: http://asqlb.blogspot.com/2011/05/ssis-selective-rows-count-using-script.html to create the counter

let me know if you need more help.
0
 
LVL 21

Expert Comment

by:huslayer
Comment Utility
how is this working out for you? any questions?

If you're stuck, send me a sample data file and I'll create a sample package for you...

regards,
Jason
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Join & Write a Comment

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

743 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now