Solved

How can I use parameters in a connection file manager and source in ssis 2015 to load 2 different file definitions

Posted on 2016-10-31
16
44 Views
Last Modified: 2016-11-04
How can I use parameters in a connection file manager and source in ssis 2015 to load 2 different file definitions with variable names from the same directory into sql server.

I want to define connection managers, parameter(s), file sources, and for each loop to load 2 different .txt file definitions into sql server.

the 2 different defintions are a seperate files named with a date time stamp at the trailing end of the file name:
def1 = posdef<dtstamp>.txt
def2 = posdef2<dtstatmp>.txt

both files are loaded to the same directory periodically.
I don't understand how to implement a combination(s) of params to account for varaible file names and different definitions to load using for each loop(s) to load into different tables in an ssis package
0
Comment
Question by:conardb
  • 10
  • 3
  • 3
16 Comments
 
LVL 24

Expert Comment

by:Pawan Kumar
ID: 41867907
Well in this case you have to use string Variable say FileName & Flat File Connection Manager. Below Blog URL will help you in step by step -

http://beyondrelational.com/modules/2/blogs/106/posts/11113/ssis-dynamically-set-flat-file-connection-manager.aspx

You just have to follow these simple steps.
0
 

Author Comment

by:conardb
ID: 41868243
Thanks Pawan, I don't think that will work.  The two different definitions will be in two different files.  Each will have a different name.  The difference will be a time stamp when the file was generated so the name can't be stored in a table and they will have the same unique leading characters for each file def.  file1<timestamp>.txt. filename2<timestamp>.txt.

I'm thinking I need to be able to do a for reach loop through directory that has a seperate connection to each of the two file def by unique leading characters.
0
 

Author Comment

by:conardb
ID: 41868252
I was thinking use the fully qualified path+file name and process the files based on a substring of the path that uses the leading file name characters
0
 
LVL 24

Accepted Solution

by:
Pawan Kumar earned 250 total points
ID: 41868253
Okies, if you want to go head with foreach loop and dynamic connections below can help.

http://www.sqlerudition.com/example-of-ssis-foreach-loop-item-enumerator-and-dynamic-oledb-connection/
0
 

Author Comment

by:conardb
ID: 41868281
Thanks, this looks to take table data in a database and write to text files.  I'm need to take text files from a directory and load into sql server table and I need to determine the connection or source in the ssis package by the leading characters of the text file name.
0
 
LVL 46

Assisted Solution

by:Vitor Montalvão
Vitor Montalvão earned 250 total points
ID: 41868288
I'm not a SSIS expert but already created some packages before.
Are you using a Flat File Connection Manager? If so you can set a variable that will produce dynamically the file name by using T-SQL only in the expression. Example:
'File1'+YEAR(GETDATE())+MONTH(GETDATE())+DAY(GETDATE())+'.txt'
0
 

Author Comment

by:conardb
ID: 41868452
Yes, I'm using the flat file connection manager.  The flat files are the source, so I have the connection manager, for each loop container, dataflow, source in the data flow.  There may be 10 files for example with two file defintion / file types.  Each file def/type is indicated the the prefix or starting char of the file name (file1<timestamp>.txt, file2<timestame>.txt)   The record length and columns are different for each file def
0
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 41868469
Good. Do you have any variable set?
For your case you'll need to have a variable for each file.
In the example I gave above you'll keep the file name as File1YYYYMMDD.txt so you can work from there.
0
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

 

Author Comment

by:conardb
ID: 41868757
what are the settings for the connection manager and source.  That's where I keep having issues is with the connection mgr and source specifying the record length
0
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 41869703
what are the settings for the connection manager and source.
What do you mean? Can you show the settings that you're having now?
0
 

Author Comment

by:conardb
ID: 41873876
I have a connection manager and flat file source for each file definition.
A-connection-manager-for-each.docx
0
 

Author Comment

by:conardb
ID: 41873905
here's the loop settings and var settings
ForEachLoop-Properties.docx
0
 

Author Comment

by:conardb
ID: 41873915
cannot find specified file
cannot-find-file.docx
0
 

Author Comment

by:conardb
ID: 41874306
I think I got it now...
0
 
LVL 24

Expert Comment

by:Pawan Kumar
ID: 41874367
Great..
0
 

Author Closing Comment

by:conardb
ID: 41874447
used a single var for folder path, 2 vars for each file def: one for filename and one for folder path and file combination for a total of 5 vars and 2 for each loops... initially, I had tried to use the multi file connection in an attempt to avoid multiple connections and variables per file def, I'd be interested in knowing if there is someway to use one connection manager for multiple sources or would a connection manager and source always be required for each file def.
0

Featured Post

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

Question has a verified solution.

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

Here's a requirements document template for an integration project (also known as Extract-Transform-Load or ETL) based on my development experience as an SQL Server Information Services (SSIS) developer over the years.
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
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 the fundamental information of how to create a table.

911 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

22 Experts available now in Live!

Get 1:1 Help Now