SSIS Data Flow Question

While working on my current project, a problem came to mind.
On past projects in SSIS, I was taking data from an Excel or csv source and converting for use in SSMS. Straightforward and fairly simple, as I became more and more acquainted with SSIS.
But, the stored procedure I'm working on now raised a question on how data flows through a project.
The procedure updates a couple of tables using SQL's UPDATE command. So, it does a direct modification of a table.
However, in duplicating that in SSIS - using Derived Column tools - I started to wonder what the data was doing as the flow progressed through the various steps in the Control and Data flows.
Here's my Control Flow so far;
In Step 1, the SQL table, sh1, has all records that meet the WHERE criteria of the embedded SQL code deleted, but leaving the rest of the table intact.
In Step 2, I define a variable for use in the project using an embedded SQL query.
In Step 3, I encounter the first update task;
This flow terminates in the lower right corner with Update sh1, Pass 4. Here is where I have my question.
When this flow terminates, does it return to the Control Flow with the table sh1 updated as required by the
Update sh1 Data Flow? In other words, does it enter Control Flow Step 4 with the updates, or does the next update task (one in which the stored procedure uses the modified table, sh1) simply reload sh1 from the server, without any updates?
If the former, then no worries, as that's how I was proceeding until a little bug in my ear said, "Whoa, buckwheat! Maybe the changes aren't stored."
If the latter, then I'm guessing that I need to have a Data Flow Destination tool dragged to the workspace and connected up to the output of the
Update sh1, Pass 4 tool.
Fine, I thought, I'll direct the output to the sh1 table.
But, that will put all of sh1 into the table, not just the updated rows. I'd have to TRUNCATE sh1 first. But, sh1 is active in the Data Flow. If I truncate it, there'll be nothing to update. Or, if I truncate it after the
Update sh1, Pass 4 tool, it'll lose all the updates - and everything else.
I figured that, in the latter case, I'd have to have some sort of interim table to hold the results of the
Update sh1 Data Flow, truncate sh1 and then put the contents of the interim table into the, now empty, sh1 before returning control back to the Control Flow.
I'd like to avoid an interim table, if at all possible, but if I have to have one, I have to.
Or, is there another way?
Thanx in advance for any help!

You can always use a Record-Set Destination to hold the results from your first Data Flow Transformation. The record set variable is retained in memory and available within the context of your package
Object Variables Recordsets
But then you need to modify  your package to read from the record set. you can either use a script task , or loop through each record in your record set and process the updates for each row
Shredding Record Set
While these are possible options, i do not think they are the best way to go about things.
I would like to know what you are doing in the Update Sh2 Step. You can keep adding data flows that follows Update sh1 Pass 4 and then finally update the table through an OLE DB Command transformation. then you do not have to store anything in memory. but
you might probably end up with a complex data flow transformation.
The design will depend on the volume of records, the number of transformations you want the data to go through.
You can avoid transformations by writing queries that retrieve results in the way you want. Example Sorting the results by adding an Order by in your Source query, as opposed to adding a sort transformation
Regards, Dinesh

Similar Messages

  • SSIS Data flow item does not show on the Tools Choose Tools Item

    I would like to add share point to my data source for my SSIS project.
    After I installed Share Point Source and Destination list, I went to Tools Choose Tools Item, but SSIS Data Flow tab does not show. I went to SSIS Tools box, but the components are not there.
    I would like to know are there any way to add Share Point Data source using SSIS.
    Your help and information is great appreciated,
    I use SQL Server 2012 and VS 2010.
    Regards,
    Souris,

    Hi Souris,
    I have installed the SharePointListAdaptersSetup-Beta-2012-01-28.msi in my SQL Server 2012 test environment, the SharePoint List Source and Destination adapters is listed in the Common type items of the SSIS Toolbox. To narrow down the root cause, please
    try the following steps:
    Make sure the SharePointListAdapters.dll exists in the C:\Program Files (x86)\Microsoft SQL Server\110\DTS\PipelineComponents folder.
    Make sure it is installed to GAC successfully, the SharePointListAdapters.dll should exist in C:\Windows\Microsoft.NET\assembly\GAC_MSIL\SharePointListAdapters\v4.0_1.2012.0.0__f4b3011e1ece9d47 folder.
    Refresh the Toolbox and check the Common type items.
    Since the SharePoint List Adapter is a third-party component, I would suggest you ask a question in its dedicated discussion plate:
    http://sqlsrvintegrationsrv.codeplex.com/discussions
    Regards,
    Mike Yin
    TechNet Community Support

  • Ssis data flow item and ssis control flow item tab missing in choose toolbox item from ssdt 2010

    ssis data flow item and ssis control flow item  tab missing in choose toolbox item from ssdt 2010

    I have the same problem.
     When i click on tools -> choose tools Items dialog box, Control Flow and Data Flow Tab are missing.
    I've just worked with SQL Server Data Tools and SQL Server 2012 and these tabs are not missing.
    i think this is a problem installing SQL Server.
    I've not yet  found a solution.

  • SSIS Data Flow task using SharePoint List Adapter Setting SiteUrl won't work with an expression

    Hi,
    I'm trying to populate the SiteUrl from a variable that has been set based on a query to a SQL table that has a URL field.  Here are the steps I've taken and the result.
    Created a table with a url in it to reference a SharePoint Task List.
    Created a Execute SQL Task to grab the url putting the result set in a variable called SharePointUrl
    Created a For Each container and within the collection I use the SharePointUrl as the ADO object source variable and select rows in the first table.
    Still in the For Each container within the Variable mappings I have another Package Variable called PassSiteUrl2 and I set that to Index 0 or the value of the result set.
    I created a script task to then display the PassSiteUrl2 variable and it works great I see my url
    This is where it starts to suck eggs!!!!
    I insert a Data Flow Task into my foreach loop.
    I Insert a SharePoint List Adapter into my Data Flow
    Within my SharePoint List Adapter I set my list to be "Tasks", My list view to be "All Tasks" and then I set the url to be another SharePoint site that has a task list just so there is some default value to start with.
    Now within my Data Flow I create an expression and set the [SharePoint List Source].[SiteUrl] equal to my variable @[User::PassSiteUrl2].
    I save everything and run my SSIS package and it overlays the default [SharePoint List Source].[SiteUrl] with blanks in the SharePoint List Adapter then throws the error that its missing a url
    So here is my question.  Why if my package variable displays fine in my Control Flow is it now not seen or seen as blanks in the Data Flow Expression.  Anyone have any ideas???
    Thanks
    Donald R. Landry

    Thanks Arthur,
    The scope of the variable is at a package level and when I check to see if it can be moved Package level is the highest level.  The evaluateasexpression property is set to True.  Any other ideas?
    I also tried to do the following.  Take the variable that has the URL in it and just assign it to the description of the data flow task to see if it would show up there (the idea being the value of my @[User::PassSiteUrl] should just show in the
    description field when the package is run. That also shows up blank. 
    So i'm thinking its my expression.  All I do in the expression is set [SharePoint List Source].[SiteUrl] equal to @[User::PassSiteUrl] by dragging and dropping the variable into the expression box.  Maybe the expression should be something
    else or is their a way to say  @[User::PassSiteUrl] = Dts.Variables("User::PassSiteUrl2").Value.ToString() 
    In my script task I use Dts.Variables("User::PassSiteUrl2").Value.ToString() to display
    the value in the message box and that works fine.
    Donald R. Landry

  • Custom SSIS Data Flow Component Not Showing in Toolbox or GAC

    Hello - I have created a very simple data flow component for SSIS (Actually, I am following this example:  http://www.microsoft.com/downloads/details.aspx?familyid=1C2A7DD2-3EC3-4641-9407-A5A337BEA7D3&displaylang=en).
     However, when I register the DLL to the GAC, I am unable to find the assembly in C:\Windows\Assembly - even though the GACUTIL says "Assembly Registered Successfully".  Furthermore, after copying the DLL to the PipelineComponents folder for SSIS
    (C:\Program Files (x86)\Microsoft SQL Server\100\DTS\PipelineComponents), it does not show in the "Choose Items . . ." dialog box of SSIS.  
    I am running SQL Server 2008 Dev edition, Visual Studio 2010 with .NET 4.0, and Windows 7 Enterprise 64-bit edition.  Any assistance/thoughts would be appreciated.
    Thanks!

    Hi,
    I was struggling with exactly the same problem yesterday.. created a component in VS 2010 (.NET 4.0), registered the component using GACUtil with no error, but not being able to find the component in the cache directory nor in the SSIS toolbox...
    I spend several hour trying to find out whats going on. Then I tried to run the GACUtil from a dos batch file - and an error appeared saying that I am trying to register assebly .NET 4.0 on a computer that runs 3.5.. Then changed the target framework
    in VS 2010 to 3.5, rebuild the project and voila- the component finally appeared in the toolbox list...
    this is the batch i used to register assembly:
    REM Unregister and re-register the assembly on the GAC
    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\gacutil" /u ChangeCase
    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\gacutil" /i "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\ChangeCase.dll"
    pause
    this batch will show the list of assemblies in the GAC:
    "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\gacutil" /l > gacListing.txt
    hope this helps...
    Frank

  • LO cockpit extraction - data flow question

    This question is related with the LO cockpit extraction.
    Are update tables are meant to be the same  as set tables or
    are they different?
    can anybody provide a highlevel data flow for the logistics data
    using LO cockpit from R3 to BW
    please correct / enhance the below data flow for different methods of LO delta updates as i assume
    and inculude the set up table where it fits.
    (for direct update)
    R3 db talbes -> delta queue -> extract structure -> transfer structure -> infosource -> data target
    (for queued delta)
    R3 db talbes -> extraction queue -> delta queue -> extract structure -> transfer structure -> infosource -> data target
    (for unserialized V3 update)
    R3 db talbes -> postings to update tables -> delta queue -> extract structure -> transfer structure -> infosource -> data target
    I also want to know where does the delta queue reside - in R3 or in BW? Can the content of delta queue be viewed?
    Thanks for ur help - i will give full points for your input.
    ak

    Check the diagram in links below. It clearly identifies the data flow and whether the component is in R3 or BW.
    /people/sap.user72/blog/2005/01/19/logistic-cockpit-delta-mechanism--episode-three-the-new-update-methods
    /people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
    /people/sap.user72/blog/2004/12/23/logistic-cockpit-delta-mechanism--episode-two-v3-update-when-some-problems-can-occur

  • Data Flow Question in newly Migrated Business Content Install

    Hi, I just converted my Purchasing Business Content from 3.5 to 7.x.  This Content Loads the InfoCube directly from the Data Source.  After my DataFlow Migration I am left with still having an InfoSource. 
    Here is a picture of my Data Flow
    http://i55.tinypic.com/258b7zs.png
    I thought I would not have an InfoSource after all of this.  Is this correct?
    Thanks for any help with this...

    Hi, Kenneth,
    I beleive it's absolutley correct result after migration.
    I had the same thing with infosources when migrating 0sd_c03 and never had issues with that.
    Infosurces can be used in 7 data flow as sometimes it's a good thing to have additional transformation between source and target (allow for more flexibility in data transformation)
    By the way your infosurce also migrated as its a 7.x infosource now. I beleive it has a different object type compared to old 3.x infosurce. You can actually check the object type in se11, Tadir, select by your infosurce name.

  • Can you minimize logging in a SSIS data flow when the database is in a SQL Server 2012 Always On Group?

    We have a file that we are loading 1st into a staging database then into a production database that contains over 5 million rows. Both databases belong to a SQL Server 2012 AG. We would like to minimize the logging in the staging database but t
    the same time keep the staging database in the AG. I know about fast load and setting the buffer settings in SSIS but I've read that this doesn't work on replicated tables and I am assuming that speaks to the AG.
    Are there any articles or someone's personal experiences with this type of scenario that could point us in the right direction and offset some of the initial data load into staging by minimizing logging?
    Thanks,
    Sue
    Sue

    Hi Sue,
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
    Thank you for your understanding and support.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Data Flow Question

    I have a Air app where an employee creates an order. This stores the order information in an order arraycollection, they also add items in the order and those go in the orderitems arraycollection.
    Now because the employee may not always have a network connection I have made it so it caches the data in a stored object and an upload button to upload the orders.
    Currently I have it upload the order for each item in the orders arraycollection and return an allert if the add status returns true or false.
    Does anyone know of a way or seen a tutorial on how to grab the associated items based on the UID in the items array collection and upload those as well in flex?
    Also after the item has been uploaded I would like to remove thme from the array collection.
    Thanks for any help!

    Your post is very vague and I don't think you give enough information to really help.
    I am pretty familiar with LabVIEW, but terms like "spit out", "get serviced", and "continuously" have very little meaning without much more details.
    If you only plot the data if they are nonzero, you must already have a case structure. To build an array, all you need is a shift register initialized with zero and a build array node in one of the cases (the array is wired through unchanged in the other case). Make sure to select "concatenate array" mode for "build array". Of course if you continously append data, you will very quickly run out of memory, so you probably need some mechanism to deal wit that scenario. Do you want to only plot the current data or the entire accumulated array?
    I have no idea how the consumer loop can hold up the dataflow in the producer loop. Where is the dependency coming from?
    You don't need to upload a huge project. I am sure you can reduce it to a simple VI with two small loops and some random number generator. This would be enough to show the basic architecture you are using. Thanks!
    LabVIEW Champion . Do more with less code and in less time .

  • Why does DB2 Data Flow Task query does not accept a date coming from a string or datetime variable in SSIS?

    I am trying to compare a DB2 date format to a date variable from SSIS. I have tried to set the variable as datetime and string. I have also casted the SQL date as date in the data flow task. I have tried a number of combinations of date formats, but no luck
    yet. Does anyone have any insights on how to set a date (without the time) variable and be able to use it in the data flow task SQL? It has to be an easy way to accomplish that. I get the following error below:
    An invalid datetime format was detected; that is, an invalid string representation or value was specified. SQLSTATE=22007".
    Thanks!

    Hi Marcel,
    Based on my research, in DB2, we use the following function to convert a string value to a date value:
    Date(To_Date(‘String’, ‘DD/MM/YYYY’))
    So, you can set the variable type to String in the package, and try the following query:
    ACCOUNT_DATE  BETWEEN  '11/30/2013' AND  Date(To_Date(?, ‘DD/MM/YYYY’))
    References:
    http://stackoverflow.com/questions/4852139/converting-a-string-to-a-date-in-db2
    http://www.dbforums.com/db2/1678158-how-convert-string-time.html
    Regards,
    Mike Yin
    TechNet Community Support

  • Are unique GUIDs required in the data flow task in SSIS?

    Hi,
    I have previously used SQL server 2008R2 to develop packages.  I was told not to copy and paste packages, or create templates with tasks on the data flow because this leads to multiple packages with the same GUID, the consequence of this might be calamitous
    problems at runtime when the engine can't distinguish between tasks in different packages.
    My process was to create templates with Control flow tasks only, manually create the dataflow tasks and then use bids helper from codeplex to regenerate GUIDs (this regenerated the GUIDs at the control flow level only).
    I am now using SQL 2012. I have looked and seen that if I copy and paste a package the GUIDs at the data flow level are also copied.  So my questions are:
    1) Does having the same ID in different dataflows cause problems as I was led to believe?
    2) If it does has this been addressed in some way in SSIS 2012? and what is the best way of working around this given I have many similar packages to develop?
    Thanks,
    Dan

    SSIS doesn't really lend itself well to creating templates.
    SQL 2012 is much improved when it comes to copy and pasting tasks, dataflows and transformations between package designs, other than the usual issues with missing connection managers.

  • How data flow when SSIS packages are run on a different server than the DB server

    The scenario is that i have a dedicated SQL SErver 2014 SSIS machine that executes the packages.
    The database server is a separate machine with SQL Server 2008R2.
    1) Running SSIS packages that transfer data within SQL Server 2008R2 (same machine)
    2) Running SSIS packages that transfer data between 2 separate SQL Server servers.
    How the data flow in these two cases and what resource is being used where? (cpu,disk,ram,network)
    Elias

    When you have a dedicated SSIS server, all data read flows to that server, is processed using the resources of that ETL server and then sent back over the network to the destination server.
    It doesn't matter if source and destination are the same server. If you use a data flow, all data flows over the network twice.
    The only exception is when you don't use a data flow, but only SQL statements. In that case, data flows only between source and destination.
    MCSE SQL Server 2012 - Please mark posts as answered where appropriate.

  • SSIS Control and Data Flow Items not available in Customize Toolbox

    I cannot add additional Data Flow and Control Flow items to the SSIS Toolbox. I am using SQL Server 2014 and VS 2013 (BIDS). The standard SSIS items appear - but they are all of them. How do I add the additional ones that are not loaded by default. I didn't
    have this issue with SQL Server 2012.
    Thank you,
    Johhn
    John

    John, which ones you do not see? AFAIK nothing has changed regarding how the items get added to SSIS toolbox in SSDT or VS 2013 with SSDT installed (no BIDS in SSIS 2012 and up).
    Arthur My Blog

  • SQL 2005 SP2 - Cannot open Data Flow Task in SSIS

    I have just installed Service Pack 2 on my SQL 2005 Standard Edition.
    However, now all my SSIS packages will not allow me to open my Data FLow Tasks.  I get the following error:
    TITLE: Microsoft Visual Studio
    Cannot show the editor for this task.
    ADDITIONAL INFORMATION:
    The task returned an unsupported control editor type. (Microsoft.DataTransformationServices.Design)
    If I try to create a new Data Flow task I get:
    TITLE: Microsoft Visual Studio
    Failed to create the task.
    ADDITIONAL INFORMATION:
    The designer could not be initialized. (Microsoft.DataTransformationServices.Design)
    I have tried to install the latest hotfixes after this but they had no effect.
    Can anybody help me???? Please?

    I have had this same issue, where tasks would open fine in an SSIS package until SP2 was installed and then I get the same issue as noted above, i.e. :
    TITLE: Microsoft Visual Studio
    Cannot show the editor for this task.
    ADDITIONAL INFORMATION:
    The designer could not be initialized. (Microsoft.DataTransformationServices.Design)
    If anyone has some ideas on this, it would be greatly appreciated.

  • What is the generally accepted Business Practice in developing Data Flow Edit Tasks in SSIS

    We have lots of data edits that we need to create for some 3rd party data that is coming into us. Is the generally accepted business practice to perform these data edits against our database in one Stored Procedure or multiple Data Flow Tasks?
    Kind of new to SSIS and just don't know what the most efficient means is to perform these edits and whether to create multiple Data Flow Tasks to perform these edits against our SQL Server Database or perform these edits in one whole SQL Server Stored Procedure.
    Thanks for your review and am hopeful for a reply.

    Like I have to perform some drill down edits on my 3rd party data against our SQL Server Database
    Does the First Name and Last name Match?
    Does the Zipcode Match?
    Does the Birth Date Match?
    Things of that nature. My feeling is to put it into a Stored Procedure. That way if we need to flex the matching criteria down the pike here, it's all in one place...rather than in a Stored Procedure and a Data Flow Task somewhere. Just seems to be more
    logical and organized to keep it all in one place and then call the Eedit Stored Procedure from SSIS.

Maybe you are looking for

  • How to call a stored procedure with only one output parameter using toplink

    Can anybody help me to get out of this exception. I have tried through several ways, but could not find the solution. I have a following stored proc : - CREATE OR REPLACE PROCEDURE spt_remove_duplicates_pr (outbuffer OUT VARCHAR2) IS buff VARCHAR2(32

  • Blank column in a chart

    Hi gurus, I'm trying to insert a blank column into a column chart because the columns of different measures are together. I tried to insert a blank serie and it works, but if I show the legend, I have a blank value into the legend and I can't hide it

  • Initiate process link in ALUI Collaboration

    We installed WE with ALBPM. So the ALUI is integrated with ALBPM. Every thing is working fine, but the 'Initiate Process' button in ALUI collaboration is not showing any processes to attach. Are there any requirements while designing process in order

  • Extra 256MB of RAM or 133mhz more processor speed?

    Hello all, I am currently watchin an Ebay auction for a 667 mhz DA processor (i can just pop that in my DA and it would work right?) I am debating wether or not to buy the faster processor or a 512mb stick to replace one of my 256. What do you all fe

  • How to debug an error occurring 'at Wire of the block diagram of "XYZ.vi" '

    Hi, this is most mysterious to me. See the attached picture of the error message coming from LabVIEW. The program does not throw an error number, as you can see. Nor does it let me debug the exact occurrence location of the error because it pops up j