In this article we will show you, How to Load Multiple Text Files into SQL Server in Informatica with example. For this example, we are going to use Four Text files present in our local file system i.e., D:\FILE SYSTEM TASK FOLDER\
Data present in the Employee1.txt file
Data present in the Employee2.txt file
Below screenshot will show you the data present in the Employee3.txt file
Data present in the Employee4.txt file
Data Present in the Employee file
and the Destination table is Multiple File Destination. As you can see, it is an Empty table
Load Data From Multiple Text Files to SQL Server in Informatica
Before we start configuring the Informatica to Load Data from multiple Text Files (or Flat Files) to SQL Server. First connect to Informatica repository service by providing the Informatica Admin Console credential.
TIP : Here you have to provide the Admin Username and password that you specified while installing the Informatica Server.
Step 1: Create Source Definition
Once you connected successfully, Please navigate to Source Analyzer to define your Sources. In order to load data from multiple files, we have to provide the source definition that is common for all the text files. For this we are using Employee1, but you can try any one (Employee2, 3, or 4).
To load the data present in our local file system, Please navigate to Source menu and select the Import from File.. option as shown below
Once you select the Import from File.. option, a new window called Open Flat File will be opened as shown below. Please select the Employee1.txt file from your local file system. I suggest you to refer Flat File Source in Informatica article to under the following steps.
Once you click Ok button, a new pop up window called Flat File Import Wizard will be opened as shown below. As, Our text is separated by comma delimiter we are selecting Delimited option. Next, we check marked the Import filed names from the first line option. Because our text file contains column names as first line
Under Delimiter section, we are selecting Comma. And under Text Qualifier section, we are selecting No quotes because our flat file doesn’t have any quotes.
Here, we can edit the Column Name, Data type, Length or Precision, Scale and Width. Please change the length, width, or scale as per your requirements.
From the below screenshot you can observe that, you can see our newly created Flat File source in Informatica
Step 2: Create Target Definition
Please navigate to Target Designer to define the Target. In this example, we use existing SQL table as our target definition. So, go to the Targets menu and select the Import from Database.. option as shown below.
Please select the ODBC connection that will connect the Informatica with the SQL Test Database. In order to create new one, please refer Informatica ODBC Connection article.
From the below screenshot you can observe that, we are selecting the Multiple File Destination table from our SQL Test database. You can refer Create Target table using Source Definition to understand the process of creating target definition
Now you can see the target table with required column names.
Step 3: Create Mapping to Load Data From Multiple Text Files to SQL Server
To create a new mapping, Please navigate to Mappings menu in Menu Bar, and select the Create.. option.
This will open the Mapping Name window to write a unique name for this mapping. Let me write m_load_multifiles_to_sql and click OK button.
TIP : Please refer Informatica Mapping article to understand the procedure to create Mapping
Drag and drop the Employee1 source definitions from Sources folder to the mapping designer. Once you drag the source, Power Center designer will automatically create the source qualifier for you. I suggest you to refer Source Qualifier Transformation article
Next, Drag and drop the target definition (Multiple File Destination) from Targets folder to the mapping designer. Next, connect the source qualifier with the target definition. Please use the Autolink.. option to connect them.
Before we close the Mapping, Let us Save, and Validate the mapping by going to Mapping Menu bar, and select the Validate option.
Step 4: Create Workflow to Load Data From Multiple Text Files to SQL Server
After we finish creating the Mapping, we have to create the workflow for it. Power Center Workflow manager provides two approaches to create workflow.
In this example we will create the Workflow manually. To do so, Please navigate to Workflows Menu and select the Create option.
This will open Create Workflow window as shown below. Please provide the unique name (wf_load_multifiles_to_SQL) and leave the default settings.
Once we created the workflow, our next step is to create session task for our mapping.
Step 4(a): Create Session to Load Data From Multiple Text Files to SQL Server
There are two types of sessions in informatica:
For this example we are creating a Non-reusable Session. In order to create Non-reusable Session, Please navigate to Tasks Menu and select the Create option as shown below.
Please provide a unique name for this session. Here, we are naming it as s_load_multifiles_to_sql
Once you click on the Create button, a new window called Mappings will be opened. Here you have to select the mapping that you want to associate with this session i.e., m_load_multifiles_to_sql.
Please link the Start Task, and the Session Task.
Double click on the Session task will open the Edit Tasks window. Within Properties Tab, we have configure $Target connection value. This property will store the relational source information in $Target variable.
So, click on the Arrow we marked above, and select the SQL Test as the target information.
Within the mappings tab, we have to configure the Source, and target Connections. First, let us configure the Target connection by clicking on the FileDestination.
With in the Connections, click on the Arrow button beside the Relational type, and Use Connection variable that we created in our previous step i.e., $Target
You can change the Target Load type from Bulk to Normal as per your requirement.
Now, we have to configure the Source Connection. Please click on the SQ_Employee1 present in the Sources folder. Please change the Source Filetype option from Direct to Indirect.
- Source File directory: Informatica will use the default directory but you can change the directory by giving full path. Here we are changing the file directory to D:\File System Task Folder\
- Source filename: Please specify the file name where you placed the File names along with the extension (Employee.txt).
Next, navigate to Workflows Menu and select the Validate option to validate the Workflow. Now, Let me start the Workflow by selecting the Start Workflow option in Workflows Menu.
Let us open the SQL Server Management Studio to check whether we successfully transfer the data from multiple text files or not.
Let me alter the Employee text file. It means, Informatica has to load data from Employee1.txt file, and Employee4.txt file
Please check mark the Truncate Target Table option to delete the existing records from the Target table i.e., Multiple File Destination. I suggest you to refer SQL Truncate to understand the concept.
Let us open the SQL Server Management Studio. As you can see from the below screenshot, Informatica loaded the data from Employee 1 and Employee 4 text files.
Thank You for Visiting Our Blog