• I am afraid there is no "silver bullet" solution.

    You can use a Data Flow task, with several flows if data goes into several tables, or a Script Task. In a Script Task you could define a dictionary of offsets and lengths by table and column name and do the parsing in one simple loop, which IMO would be easier to maintain than 200+ individual substrings.

    Sorry if my answer is too general. I could perhaps give a more specific opinion if I had more detail.