How To Pass Filename As A Dynamic Variable To Flat File Source In SSIS ?

Sep 3, 2007

Hi,

I am migrating one of my DTS package to SSIS.

My task is to read the filename from a database table and transfer the flat file data in to a table.
In SSIS,I am able to fetch the file name using a Data Reader Source; but how to pass this fileName parameter to Flat File Source ?

In DTS I have used ActiveX script to pass filename variable as flatfilecon.Source.
Any help ?

Thanks,
Ravi

View 4 Replies


ADVERTISEMENT

Using ForEach And Pass Filename To Flat File Source In Data Flow Task

Mar 11, 2008

How do i use the foreach loop container and pass each file found according to a specified pattern to a Flat File Source in a Data Flow Task Object so i can operate on each file found in the foreach loop object instead of having to specify a static file name

Thanks

View 4 Replies View Related

SSIS: Flat File Source With Wildcarded Filename

Aug 14, 2007

My task is to write an SSIS package that picks up just one file from a directory and loads it into a database table. The filename is defined as being "ABC*.txt". So I must pick up only one file that matches that wildcard.

I can see two ways of doing this, but I can't get either to work:-
1. Use a Flat File Source connection and put the wildcard in the ConnectionString.
i.e. ConnectionString = "C:\mydirABC*.txt"
But SSIS doesn't seem to support that.
2. Use a Foreach Loop Container with a Foreach File Enumerator, and configure the enumerator as:-
Folder = c:mydir
Files = ABC*.txt
This works well, but loops round for as many files match the wildcard. Is there any way of forcing it to drop out after the first time round the loop?

Or am I missing a much easier solution?
Thanks.

View 10 Replies View Related

Integration Services :: Get FileName Fo Each File Created Via Dynamic Flat File Destination

Jul 24, 2015

Need to know how I can get the dynamic filename created in the FlatFile destination for insert into a package audit table?

Scenario: Have created a package that successfully outputs Dynamiclly named flat files { Format: C:Test’Comms_File_’ + ‘User::FileNumber’+’_’+Date +’.txt’

E.g.: Comms_File_1_20150724.txt, Comms_File_2_20150724.txt  etc} using Foreach Loop Container  :

* Enumerator Set to: “Foreach ADO Enumerator” with the ADO object source variable selected to identify how many total loop iterations there are i.e. Let’s say 4 thus 4 files to be created

*Variable Mappings : added the User::FileNumber – indicates which file number current loop iteration is i.e. 1,2,3,4

For the DataFlow task have a OLDBSource and a FlatFile Destination where Flat File ConnectionString is set up as:

@[User::Output_Path] + "Comms_File"+ @[User:: FileNumber] +"_" + replace((DT_WSTR, 10) (DT_DBDATE) GETDATE(),"-","")+ ".txt"

All this successfully creates these 4 files:

Comms_File_1_20150724.txt, Comms_File_2_20150724.txt, Comms_File_3_20150724.txt, Comms_File_4_20150724.txt

Now the QUESTION is how do I get these filenames as I need to insert them into a DB Audittable. The audit table looks like this:

CREATE TABLE dbo.MMMAudit
  (
     AuditID      INT IDENTITY(1, 1) NOT NULL,
     PackageName     VARCHAR(100) NULL,
  
FileName           VARCHAR(100) NULL,
     LoadTime        DATETIME NULL,
     NumberofRecords INT NULL
  ) 

To save the Filename & how many records in each file in our Audit Table, am using an Execute SQL Task and configuring it as this:

Execute SQL Task

Parameter mapping - Mapped the User Variable (RecordsInserted) and System Variable( PackageName) to Insert statement as shown below

SQLStatement: INSERT INTO [dbo].[MMMAudit] ( 
PackageName,NumerofRecords,LoadTime)
 (?,?.GETDATE)

Again this all works terrific & populates the dbo.MMMAudit table as shown below BUT I also need to insert the respsctive file name – How do I do that?

AuditID PackageName FileName  NumberOfRecords
1           MMM       NULL                      12
2          MMM  NULL                23
3          MMM  NULL      14
4          MMM  NULL              1                     

View 2 Replies View Related

Assign Variable For FileName Of Source File

Aug 10, 2006

I am wanting to capture the file name I am using to load data from and use it in a SQL statement to insert it along with the data that I load.

I am using a ForEach container to load all my .txt files but cannot figure out how to capture the name of each source file as it loops through the files and then add it to my insert statement that is populating my history table. I would think that the ForEach container has that information, but I do not see how to access it and assign it to a variable that I could use in my SQL statement.

Any ideas or suggestions?

View 4 Replies View Related

Variable Flat File Source

Mar 7, 2007

I am trying to make a SSIS package that will loop trough all files in a directory and load information from them.

I can do this with Raw File Sources since they allow me to use a variable name as the file path, but I cant seem to do the same with Flat File Sources. Is there a way to change the connection to a Flat File Source on each iteration of a loop? Actually, if this is possible with all types of file sources (like excel files) I would love to know about it too.

I was thinking about renaming the file through a script task but that does not seem like the most elegant solution so decided to see if some one here knows of a more proper way before I go that direction.

View 1 Replies View Related

Regarding The Dynamic File Change Within Flat File Source.

Mar 28, 2006

Hi,

we have one requirement to run the package daily basis.

The package should run at specific time on that day.

we are using windows schedular for that.

we will have one new flatfile everyday.

Is there any process to attach this file to flat file source dynamically?

The requirement is,

The flat file should be able to read the new flatfile everyday.

we have no option change it manually, the flatfile source should have to take the file automatically at that time.

So that it can take that flatfile and load it into database table.

View 1 Replies View Related

Flat File Data Source With Variable Number Of Delimited Columns

Feb 26, 2007

I am writing a package that will process delimited flat files that will come in one of a few different versions. Within each flat file, the number of delimited columns will be the same, but each version of the file has a different number of columns. I have tried configuring the flat file data source to expect the version with the largest number of columns, but it will then throw away rows that have less than this number of columns (warning: There is a partial row at the end of the file).

Is it possible to use a single flat file data source that will work with all of the different width files?

View 1 Replies View Related

Reading From SSIS Flat File Source?

Feb 9, 2012

I have a simple SSIS package -> It reads a local text file which has 10 rows of data ( id, name, telephone # ) and puts it into a table.

It uses the "SSIS Flat File source" to read and a "SQL Command" to insert into the table. I can see that it reads line by line and puts each line into one row in my table.

Now, my production data is over 5 GiG of mainframe data and it seems their data is arranged in some hierarchical form.. so the position or arrangement of data in that file is important.

I pulled the data using my package and as far as I can see , my SSIS package pulled one line at a time ( from the flat file) and pushed it into my table. For each row, I also created an identity column in my table to be able to identify the positional arrangement of the hierarchical data and then use relational mappings to suit our business needs.

In all of this, my assumption is -

"SSIS reads one line at a time, inserts to my table and goes down to the next line .

It does NOT read a snapshot of rows from the flat file so as to write them into the table using internal ordering methods based on that particular snapshot "

My question is .. is my assumption correct ?

View 1 Replies View Related

SSIS: Flat File Source W/non-standard Row Delimiter

Jun 20, 2006

I have a flat file that is row delimited by x00 x0D x0A. Any ideas on how to specify the row delimiter in the Columns section of the Flat File Connection Manager?

View 2 Replies View Related

SSIS FLAT FILE SOURCE DOESNT RUN BY SQL AGENT

May 21, 2008



HELLO,

I'M NEW OF SQL SERVER BUT I'VE ALREADY GOT A LOT OF GOOD ADVICES BY YOU

I'M NOT IN ABLE TO RUN BY SQL SERVER AGENT AN SSIS PACKAGE:

THE PACKAGE IS MADE AS BELOW:

DATA SOURCE: FLAT FILE;
OLE DB DESTINATION: SQL SERVER DBO.TABLE

I HAVE SEVERAL KIND OF DATA FLOWS SCHEDULED TO RUN DAILY, AND ALL OF THEM RUNNING CORRECTLY.
THE ONLY ONE I'M ACTUALLY NOT IN ABLE TO MAKE RUN BY JOB IS THIS ONE. (BY VISUAL STUDIO RUNS FINE )

I'M GETTING BACK THE FOLLOWING ERROR:
Description: SSIS Error Code DTS_E_PRODUCTLEVELTOLOW. The product level is insufficient for component "Flat File Source 1 1" (32)


I'VE GOT A LOOK ON WEB, AND SEEN THAT THIS ERROR IS NOTICED WHEN SSIS IS NOT INSTALLED ON THE CLIENT MACHINE, BUT THIS IS NOT MY CASE SSIS IS FULL INSTALLED AND RUNNING.

I'VE ALSO TRIED TO RUN THE PACKAGE DIRECTLY FROM THE SERVER MACHINE...IT DOESN'T RUN EVEN LIKE THAT

I'VE DISCOVERED THAT SOME SSIS FEATURES IS NOT AVAILABLE WIT SQL SERVER STANDARD EDITION ( THIS IS MY LICENSE ) DO YOU HAPPEN TO KNOW WHETHER THIS IS THE CASE OR NOT?

P.S.
I'M PART OF SYSADMIN GROUP...JUST IN CASE


View 2 Replies View Related

Row Count In Flat File Data Source Using SSIS

Jan 29, 2008



Hi,

I am trying to impliment a SSIS package where data source is a Flat file(.csv) file and destination is a sql server database.

The problem is my data source a flat file which consists of thousands of rows which are manually entered, so there is always a chance that in some rows they may miss a column value while entering data which results in an error.

Example: My flat file has headers like Sln, Name, Age, Designation. While entering data they may miss age and type it as 1,aaa,Consultant,,

Using SSIS package i want to track all row number in the flat file where data is entered wrongly so that i can correct only that row instead of checking all rows each time when my SSIS package throughs an error. I want to get all the row numbers in a sql server database which are wrongly entered.


Any suggestions are sincerly apriciated.

Thanks in advance

Regards,
gcs.

View 11 Replies View Related

SSIS - Variable In Flat File Destination

Oct 3, 2007

Hi,

Here is my problem :
I work on a SSIS package with SQL SERVER 2005
I need to extract data from a table and put these data in csv files

But... the flat files name should be dynamic and assigned by a variable ...

Here's an example of my table :

Column header :
Id, Name, Number
1 TOM 22
2 TOTO 44
3 SAM 44
4 RADIO 55

I expect to have 3 csv files :
USER_22.csv
USER_44.csv
USER_55.csv

for example : USER_44.csv contains :
2;TOTO;44
3;SAM;44

if there's 50 different number, i expect 50 files

can i do that in a dataflow ?

thanks for answering

View 8 Replies View Related

XML Source With Schema Filename In Variable.

Aug 13, 2007

Is there a way to configure the XML source component to use a schema file whose filename is in a variable? Now I know it doesn't make any sense to have an XML source whose schema can vary, however, I have a parent package with a ton of child packages, all of which process the same XML input using the same schema. What I would like to do is for the parent to load the filename of the XML input file into a variable, and the filename of the XML schema file into another. Each child would have its XML source configured to pickup these variables from the parent, so that if the location or name of the schema changes, I don't have to edit each package one-by-one. However, it doesn't seem possible to specify anything but a filename for the schema. Any suggestions?

View 5 Replies View Related

Text Qualifier In SSIS Designer For Flat File Source

May 19, 2008



Unlike SQL Server 2000 DTS, SSIS Flat File Connection Manager Editor does not provide available list of Text qualifier,

i tried

-- ""
-- double quote {"}
-- "
--{"}

but none of them worked....!
My file sample looks like this

"Col1","Col2"
"1234","3456"
"3456","1234"

what qualifier should I use then?

Many Thanks,

View 7 Replies View Related

Flat File Name As SSIS Data Source Input Parameter

Feb 29, 2008

Each day I receive a file with a different name. For example, the name is filename_mmddyyyy.txt where filename_ stays constant and mmddyyyy is the date of the file. The file is always in the same format.

I want to build an SSIS where I pass it this file name. I can write a script to generate the correct file name. How do I build the SSIS so it can accept the input parameter and find the correct file to process?

Thanks

View 3 Replies View Related

SSIS - Handling Different Types Of Record In Same Flat File Source

May 10, 2006

Hi,

I've just started looking at SSIS and have encountered what should hopefully be a simple problem to solve. I have a pipe-separated source file that looks like this (I've added Line numbers for simplicity):

Ln 01: HDR|FEED_CODE|31-MAR-2006
Ln 02: Tom|100|Jones|ZZ1 1ZZ|USA
Ln 03: Tom|200|Singer|
Ln 04: Tom|305||Red|Porche ||Lanzarote |Apple|Carrot| | |
Ln 05: Dick|100|Van Dyke|ZZ1 1ZZ|USA
Ln 06: Dick|200|Actor|
Ln 07: Dick|305||Blue|Ford||California |Tomato | |||Beef
Ln 08: Harry|100|Houdini|ZZ1 1ZZ|GBR
Ln 09: Harry|200|Escapologist|
Ln 10: Harryk|305| |Green ||Triumph |Poland|Banana|Sprout| | |
Ln 11: TRL|9


In addition to a header and footer records, this file contains three record types for each person.

Record types are identified by the second column.

Each record type has a different number of columns:

Type 100 has 5 columns
Type 200 has 4 columns
Type 305 has 12 columns

The Row delimiter for all records is the {CR}{LF} character

I've set up a flat file input source and specified {CR}{LF} as the row delimiter for both header and data rows and the "|" character as the field delimiter.

It appears that SSIS is assuming that because the first data row has 5 columns, then everything must fit that format too. So the {CR}{LF} character that separates lines 02 and 03 is interpreted as text rather than a separation character and all remaining | field separators after 305 are interpreted as text containing in the fifth column. SSIS is also complaining that the last row is incomplete.

A bit like this (I've used tildes to indicate column separation):

Tom~100~Jones~ZZ1 1ZZ~USA
Tom~200~Singer~{CR}{LF}Tom~305||Red|Porche ||Lanzarote |Apple|Carrot| | |

I've seen one other reference to this behaviour but the response seemed to be SSIS doesn't know which columns are missing. In this scenario, we don't have missing columns, rather, we have different types of record in a single file. in DTS I would effectively parse the file once for each record type thus:

if cStr(DTSSource("Col002")) = "100" then

DTSDestination("in_Name") = trim(DTSSource("Col001"))
...

Main = DTSTransformStat_OK
else
Main = DTSTransformStat_SkipInsert
end if


...not the most efficient solution I know but the load only runs once a month so this was an acceptable workaround.

DTS was never this fussy but I'm sure this is user error rather than an SSIS limitiion. Can someone please put me straight?

Many thanks,

Greg

View 7 Replies View Related

SSIS-problems Making A Dynamic Flat File Connection String

May 8, 2007

Hello.

I have packages that must generate log errors dynamically including time of execution and the name of the task.

I make it changing the properties of the connection inserting two expressions.

1.-I alter the File Usage Type to 1 to generate this files.
2.- I alter the connection string as: @[User::myvariable] +"constant_description"+ time description+ +".txt"

The time description is :
(DT_STR,40,1252) DAY (GETDATE())+"-"+(DT_STR,40,1252) MONTH( GETDATE())+"-"+(DT_STR,40,1252) YEAR( GETDATE())+" + REPLACE( (DT_STR,10,1252) (DT_DBTIME) GETDATE(),":","_")
But it is not the problem

In those packages I have one connector for all the tasks and in execution time it creates one file for each of the tasks.

The problem is the way I insert in the filename the task name.

I have a pre-execute event handler in each task that modifies a string variable( myvariable) appending the task name. When I execute de package it works great but when I only execute a task, the program do not enter in the event and do not put the tasks name.

How can I put that name without using that handler? There is another handler can I use to do it that happens before the system generates the new file name and after pre-execute? Anyone knows another way to do this kind of things?

View 3 Replies View Related

Why Cant I Set The Precision For Decimal Data Type In SSIS Flat File Source?

Mar 2, 2007

I have a CSV Flat File Source with a Decimal column - but DataPrecision property is grayed out - why?

View 1 Replies View Related

Flat File Source For SSIS Package Don't Have Column In Destination Table: How To Add?

Apr 19, 2007

Hi all,



I am passing flat file source as a variable to Dtexec Utility. (like package.variables[User::varFileName].Value;"D:sourcedata.txt).



Destination table is having one more column.

I want to add custom value in that column at run time by parameter to Dtexec(User::varDate)

I dont know how to do it, please help me.



Madhukar



View 4 Replies View Related

SSIS Randomly Empties Out Column Data While Using Flat File Source

Jan 12, 2007

I'm having a problem using the Flat File Source while using the underlying .Net classes to execute SSIS Packages. The issue is that for some reason when I load a flat file it Empty's out columns randomly. Its happening in the Flat File Source Task. By random I mean that most of the times all the data gets loaded but sometimes it doesnt and it empty's out column data. Interestingly enough this is random and even the emptying out of columns isnt a complete empty, its more like a 90% emtpying. Now you'll ask that is the file different everytime and the answer is NO. Its the same file everytime. If I run the same file everytime for 10 times it would empty out various columns maybe 1 of those times. This doesnt seem to be a problem while working with dtexec or the Package Executor utility. Need Help!!

View 9 Replies View Related

Dynamic File Name For Flatfile Source In SSIS

Apr 11, 2008

I have CSV file as source for SSIS package every time the filename will be changing like trd_1990M1_1990M12.csv,trd_1991M1_1991M12.csv , trd_1992M1_1992M12.csv etc.,

so it will vary as per user selection . i need to run the same SSIS package to execute the different file name with the same structure.


Please let me know the solution for that how to pass the file name dynamically to SSIS package.

View 1 Replies View Related

SSIS: Set Header Printed When Writing To A Flat File From A Variable

Jun 13, 2007

I have a variable defined as "Country". Based on the value, the header row printed needs to be different.



I've already created a 'HeaderRow' variable that I'm able to set using a script task. But how can you set the Header text value at run time from the variable? There is no expression defined for the Header with the Flat File Destination object, and when I attempt to reference the HeaderRow variable as the Header text, the variable name is printed as the header.



Another approach I tried was to write the Header Row separately through another data flow task, but the issue here is: what is the input source when all you have is a Country variable?

View 1 Replies View Related

Integration Services :: SSIS OLEDB Data Source - Flat File Generation

Apr 20, 2015

I am working to archive some old data from a data warehouse using SQL server and SSIS.  The data will be read and denormalized, then shipped out to a delimited text file.

The rowcount of the incoming data is significant, call it 10M+ rows per unit of work (one text file).

There are development advantages of using a stored proc for the data source - mainly ease of changing the denormalization logic as required.  Wondering if there are performance advantages of an embeded query for the data source instead?

It was mentioned by one developer that when using a stored procedure, the output stream from the proc and subsequent SSIS steps cannot start until the full procedure processing is complete; i.e. the proc churns out its' result set in one big chunk. 

He hinted that an embedded query does not have this same effect, but I am not sure that is accurate.

View 4 Replies View Related

Integration Services :: SSIS Read First Row Column From A Flat File Into Variable

Jul 16, 2015

Public Class ScriptMain
Inherits UserComponent
Dim smpid As String
Dim Prdt As String
Dim rcnt As Int64

[code]...

Using the Vb script above I am expecting to read the first row from a flat file source and transferring the data into two variable using script component.

SQL server 2008.
Script task Custom Properties:
Script Task Input Columns:

I get the following errors one after the other:"The collection of variables locked for read and write access is not available outside of PostExecute." "Object reference not set to an instance of an object."

View 3 Replies View Related

How To Redirect The Error Of A Source Flat File To The Destination Flat File?

Nov 10, 2006

Hi all,

I m using SSIS and i am transfering the data from Flat File Source to the OLE DB destination File. The source file contain some corrupt data which i am transfering to the other Flat file destination file.

Debugging is succesful but i am not getting any error output in the Flat file destination file.

i had done exactly which is written in the msdn tutorial of SSIS.

Plz tell me why i am not getting the error output in the destination flat file?

thanx

View 1 Replies View Related

Change Filename For Flat File Connection Manager At Runtime

Jun 29, 2006

I need to add the current date to the end of the filename of a flat file at runtime.

This was previously done with ActiveX script in SQL Server 2000.

oConn = DTSGlobalVariables.Parent.Connections("FlatFileConnectionManagerName")
oConn.DataSource = sNewFileName
oConn = Nothing

I would really appreciate if someone could give me some information on how to achieve this in SQL Server 2005.
Thanks in advance!

Regards,
Sara

View 8 Replies View Related

How To Save Filename As Columnname In Flat File Dest Config

Oct 20, 2006

I have created a SSIS pkg (datasource and flat file destination)

I need to have the flatfile renamed after each exec to a column name that exists in the table I am running the pkg against.

Where does the code get put to make this change after the file has been created?

Basically if I could run T-SQL after the file creation, I could make it work.



thx..

View 1 Replies View Related

Filename To Variable SSIS 2005

Mar 31, 2008



Hi All,

may be i'm asking a question that was discussed for billion time, but i can't find exact answer.

So i have access database that generates .xml or xls files by pressing button. So user select from drop down menu id ( e.g. 100,101,102,103 etc) and then file 101.xml or 102.xml or 101.xls or 102.xls is generating.

i need SSIS package to be configured to get filename is variable and then use insert data from xml or xls file to the related table

I don't understand how to pass file name through variable to SSIS package and then work with so called "variable".xls or
"variable".xml file. Could you please give detailed answers if it's possible?

Your early reply will be very much appreciated


Thank you

View 10 Replies View Related

Pass Variable Value To DataReader Source

Aug 17, 2007

Dear All,

I have created a DTS Package in Integration Services 2005.
Within the DTS Package declared a variable named xxx and passed a value 1234.

In the control flow i dropped a Data flow task and in the Property Expression Editor of DataFlow Task i defined
Property = [DataReader Source].[sqlCommand]
Expression = Variable name.

Now in the DataFlow Task Canvas dropped DataReaderSource.

How can i pass variable value to the SQLCommand ="Select * from table where name = Variable value.

regards
Sufian

View 4 Replies View Related

SSIS: Problem Mapping Global Variables To Stored Procedure. Can't Pass One Variable To Sp And Return Another Variable From Sp.

Feb 27, 2008

I'm new to SSIS, but have been programming in SQL and ASP.Net for several years. In Visual Studio 2005 Team Edition I've created an SSIS that imports data from a flat file into the database. The original process worked, but did not check the creation date of the import file. I've been asked to add logic that will check that date and verify that it's more recent than a value stored in the database before the import process executes.

Here are the task steps.


[Execute SQL Task] - Run a stored procedure that checks to see if the import is running. If so, stop execution. Otherwise, proceed to the next step.

[Execute SQL Task] - Log an entry to a table indicating that the import has started.

[Script Task] - Get the create date for the current flat file via the reference provided in the file connection manager. Assign that date to a global value (FileCreateDate) and pass it to the next step. This works.

[Execute SQL Task] - Compare this file date with the last file create date in the database. This is where the process breaks. This step depends on 2 variables defined at a global level. The first is FileCreateDate, which gets set in step 3. The second is a global variable named IsNewFile. That variable needs to be set in this step based on what the stored procedure this step calls finds out on the database. Precedence constraints direct behavior to the next proper node according to the TRUE/FALSE setting of IsNewFile.


If IsNewFile is FALSE, direct the process to a step that enters a log entry to a table and conclude execution of the SSIS.

If IsNewFile is TRUE, proceed with the import. There are 5 other subsequent steps that follow this decision, but since those work they are not relevant to this post.
Here is the stored procedure that Step 4 is calling. You can see that I experimented with using and not using the OUTPUT option. I really don't care if it returns the value as an OUTPUT or as a field in a recordset. All I care about is getting that value back from the stored procedure so this node in the decision tree can point the flow in the correct direction.


CREATE PROCEDURE [dbo].[p_CheckImportFileCreateDate]

/*

The SSIS package passes the FileCreateDate parameter to this procedure, which then compares that parameter with the date saved in tbl_ImportFileCreateDate.

If the date is newer (or if there is no date), it updates the field in that table and returns a TRUE IsNewFile bit value in a recordset.

Otherwise it returns a FALSE value in the IsNewFile column.

Example:

exec p_CheckImportFileCreateDate 'GL Account Import', '2/27/2008 9:24 AM', 0

*/

@ProcessName varchar(50)

, @FileCreateDate datetime

, @IsNewFile bit OUTPUT

AS

SET NOCOUNT ON

--DECLARE @IsNewFile bit

DECLARE @CreateDateInTable datetime

SELECT @CreateDateInTable = FileCreateDate FROM tbl_ImportFileCreateDate WHERE ProcessName = @ProcessName

IF EXISTS (SELECT ProcessName FROM tbl_ImportFileCreateDate WHERE ProcessName = @ProcessName)

BEGIN

-- The process exists in tbl_ImportFileCreateDate. Compare the create dates.

IF (@FileCreateDate > @CreateDateInTable)

BEGIN

-- This is a newer file date. Update the table and set @IsNewFile to TRUE.

UPDATE tbl_ImportFileCreateDate

SET FileCreateDate = @FileCreateDate

WHERE ProcessName = @ProcessName

SET @IsNewFile = 1

END

ELSE

BEGIN

-- The file date is the same or older.

SET @IsNewFile = 0

END

END

ELSE

BEGIN

-- This is a new process for tbl_ImportFileCreateDate. Add a record to that table and set @IsNewFile to TRUE.

INSERT INTO tbl_ImportFileCreateDate (ProcessName, FileCreateDate)

VALUES (@ProcessName, @FileCreateDate)

SET @IsNewFile = 1

END

SELECT @IsNewFile

The relevant Global Variables in the package are defined as follows:
Name : Scope : Date Type : Value
FileCreateDate : (Package Name) : DateType : 1/1/2000
IsNewFile : (Package Name) : Boolean : False

Setting the properties in the "Execute SQL Task Editor" has been the difficult part of this. Here are the settings.

General
Name = Compare Last File Create Date
Description = Compares the create date of the current file with a value in tbl_ImportFileCreateDate.
TimeOut = 0
CodePage = 1252
ResultSet = None
ConnectionType = OLE DB
Connection = MyServerDataBase
SQLSourceType = Direct input
IsQueryStoredProcedure = False
BypassPrepare = True

I tried several SQL statements, suspecting it's a syntax issue. All of these failed, but with different error messages. These are the 2 most recent attempts based on posts I was able to locate.
SQLStatement = exec ? = dbo.p_CheckImportFileCreateDate 'GL Account Import', ?, ? output
SQLStatement = exec p_CheckImportFileCreateDate 'GL Account Import', ?, ? output

Parameter Mapping
Variable Name = User::FileCreateDate, Direction = Input, DataType = DATE, Parameter Name = 0, Parameter Size = -1
Variable Name = User::IsNewFile, Direction = Output, DataType = BYTE, Parameter Name = 1, Parameter Size = -1

Result Set is empty.
Expressions is empty.

When I run this in debug mode with this SQL statement ...
exec ? = dbo.p_CheckImportFileCreateDate 'GL Account Import', ?, ? output
... the following error message appears.

SSIS package "MyPackage.dtsx" starting.
Information: 0x4004300A at Import data from flat file to tbl_GLImport, DTS.Pipeline: Validation phase is beginning.

Error: 0xC002F210 at Compare Last File Create Date, Execute SQL Task: Executing the query "exec ? = dbo.p_CheckImportFileCreateDate 'GL Account Import', ?, ? output" failed with the following error: "No value given for one or more required parameters.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

Task failed: Compare Last File Create Date

Warning: 0x80019002 at GLImport: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

SSIS package "MyPackage.dtsx" finished: Failure.

When the above is run tbl_ImportFileCreateDate does not get updated, so it's failing at some point when calling the procedure.

When I run this in debug mode with this SQL statement ...
exec p_CheckImportFileCreateDate 'GL Account Import', ?, ? output
... the tbl_ImportFileCreateDate table gets updated. So I know that data piece is working, but then it fails with the following message.

SSIS package "MyPackage.dtsx" starting.
Information: 0x4004300A at Import data from flat file to tbl_GLImport, DTS.Pipeline: Validation phase is beginning.

Error: 0xC001F009 at GLImport: The type of the value being assigned to variable "User::IsNewFile" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.

Error: 0xC002F210 at Compare Last File Create Date, Execute SQL Task: Executing the query "exec p_CheckImportFileCreateDate 'GL Account Import', ?, ? output" failed with the following error: "The type of the value being assigned to variable "User::IsNewFile" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.
". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Task failed: Compare Last File Create Date

Warning: 0x80019002 at GLImport: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

SSIS package "MyPackage.dtsx" finished: Failure.

The IsNewFile global variable is scoped at the package level and has a Boolean data type, and the Output parameter in the stored procedure is defined as a Bit. So what gives?

The "Possible Failure Reasons" message is so generic that it's been useless to me. And I've been unable to find any examples online that explain how to do what I'm attempting. This would seem to be a very common task. My suspicion is that one or more of the settings in that Execute SQL Task node is bad. Or that there is some cryptic, undocumented reason that this is failing.

Thanks for your help.

View 5 Replies View Related

T-SQL (SS2K8) :: Load Data From Flat File Source Into OleDB Destination By Changing Data Types In SSIS

Apr 16, 2014

I have an source file and i have to load it into the data base by changing datatype of the columns in ssis

View 1 Replies View Related

Integration Services :: How To Store Details From FileName Into Variable Using SSIS

Oct 19, 2015

I have one package through for each loop container I am loading all flat files into  target table and its working fine.Now I my requirement is to  capture the .txt file and loading into sqlserver table.Please check below file name.

CCCLOC_DDDLOC_LOC_20151203_240000_trigger.txt

from above file name I have to derived below detail.I have variable @File_Name which is used to stored the file name at rune time.Now I want to derived 5 values from the file name as below

Clientname=CCCLOC
Partnername=DDDLOC
Entity=LOC
Creationdate=20151203
Creationtime=240000

how to write expression for above situation.

View 10 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved