SQL Server Developer Center > SQL Server Forums > SQL Server Integration Services > Custom SSIS Control Flow Task implemented in C++
Ask a questionAsk a question
 

AnswerCustom SSIS Control Flow Task implemented in C++

  • Monday, November 12, 2007 8:08 PMCozyRoc Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi Guys,

    This is a question to the SSIS development team. I would like to know what are the requirements to implement custom SSIS Control Flow task in C++ . There is a documentation describing the process when implementing a managed task, but no such documentation exists for implementing a task in C++.

    Thank you,
    Ivan

Answers

  • Tuesday, November 13, 2007 7:18 PMCho YeungMSFTUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    You could write a custom task completely in C++ as long as the component supports the correct interfaces. You have to do it at your own risk becuase this is not something we support. Most of our stock SSIS tasks are implemented in managed code.

     

     

  • Thursday, November 15, 2007 9:15 PMAnjan Das MSFT Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    As Cho mentioned, the current POR is to only support managed custom tasks.   Native interfaces are not intended to be used directly from your code and will not be supported. 

All Replies

  • Monday, November 12, 2007 11:35 PMMatthewRocheModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I'm not a member of the SSIS product group, but I have always interpreted this to mean that there is no unmanaged API for building custom tasks. Have you considered using Managed C++ for this?

     

    Of course, I'd love to hear the official answer too...

     

  • Tuesday, November 13, 2007 7:18 PMCho YeungMSFTUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    You could write a custom task completely in C++ as long as the component supports the correct interfaces. You have to do it at your own risk becuase this is not something we support. Most of our stock SSIS tasks are implemented in managed code.

     

     

  • Tuesday, November 13, 2007 7:38 PMjwelchModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    What about data flow components? Are they under the same support restrictions?
  • Tuesday, November 13, 2007 7:48 PMCozyRoc Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Cho,

     

    Can you please elaborate more on the correct interfaces? Which are these interfaces? I'm willing to do it at my own risk and I know Microsoft has done this as well because there are a number of stock SSIS tasks implemented in unmanaged code. So with the correct information, my guess is the risk is pretty low. We will appreciate any information you can give back to the community. Obviously your developers have used some documentation internally to develop the SSIS stock components. Is it possible to talk with your SSIS team lead to release some more documentation?

     

    Regards,

    Ivan

     

  • Tuesday, November 13, 2007 7:52 PMCho YeungMSFTUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Yes, same story for Dataflow components. We don't release any public information on how to program against our native interfaces.

     

  • Tuesday, November 13, 2007 9:47 PMCho YeungMSFTUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    AFAIK, we don't have any plan to release the native interfaces information to public. I will check with out Product Manager (PM). Thanks

  • Wednesday, November 14, 2007 4:45 AMCozyRoc Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I guess we have to take the matter in our own hands for now. I have published a blog about our experience so far developing custom SSIS Control Flow Task. Enjoy!

  • Thursday, November 15, 2007 9:15 PMAnjan Das MSFT Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    As Cho mentioned, the current POR is to only support managed custom tasks.   Native interfaces are not intended to be used directly from your code and will not be supported.