Problem with SQL 2008R2 and SQL 2012

Answered Problem with SQL 2008R2 and SQL 2012

  • Monday, February 04, 2013 1:16 PM
     
      Has Code

    Hello,

    We have writting C# programma in framework 3.5(2008R2) and converted it to 4.0(2012).

    Now we have a problem using the Analysis and Intergation references.

    We build a SSIS package from code but it doesn't work on the SQL 2012 server.

    Can somebody help us with possible differnces between the references and mostly concerning Microsoft.SqlServer.DTSPipelineWrap/Microsoft.SqlServer.DTSRuntimeWrap?

    *Edite*

    We found problem lokation in this piece of the code:

     
            IDTSComponentMetaData100 componentSource = dataFlowTask.ComponentMetaDataCollection.New();
            componentSource.Name = "FlatFileSource";
            componentSource.ComponentClassID = "DTSAdapter.FlatFileSource.2";
           
            componentSource.LocaleID = 1033;
    
    
            // Get source design-time instance, and initialise component
            CManagedComponentWrapper instanceSource = componentSource.Instantiate();
            instanceSource.ProvideComponentProperties();

    Thx

    Matthias


All Replies

  • Monday, February 04, 2013 2:22 PM
    Moderator
     
     

    Matthias hi,

    on what line of code it breaks and what error do you get?


    Arthur My Blog

  • Monday, February 04, 2013 2:41 PM
     
      Has Code

    Hi,

    The last line...

       at Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSDesigntimeComponent100.ProvideComponentProperties()
       at FlatFileToSql.CreatePackage(String flatFileName, String dumpDir, DataRow drCustomerParams) in C:\BG_UNITRON_PROCESS\BG_CORE_PROCESS\FlatFileToSql.cs:line 95
       at BG_CORE_PROCESS.Program.PopulateRelationalDB(DataRow drCustomerParams, StreamWriter objStreamWriterLog) in C:\BG_UNITRON_PROCESS\BG_CORE_PROCESS\Program.cs:line 840

    Thx

    Matthias


  • Monday, February 04, 2013 2:50 PM
    Moderator
     
     
    What was the error?

    Arthur My Blog

  • Monday, February 04, 2013 3:23 PM
     
     

    Hi,

    Added the error to my last comment.

    Matthias

  • Monday, February 04, 2013 3:27 PM
    Moderator
     
     
    There is more useful text above these lines that holds the key to your issue.

    Arthur My Blog

  • Monday, February 04, 2013 3:40 PM
     
     

    Hi,

    Exception from HRESULT: 0xC0048021 -> this the only thing more to the error.

    If this is not correct can you please explain me how to search for the error?(debug?)

    Matthias

  • Monday, February 04, 2013 3:58 PM
    Moderator
     
      Has Code

    The HEX exception is coming from the part where the managed code interconnect with the non-managed one.

    My take on this is that you did not DE-reference and re-referenced the proper DLLs in your project. E.g. in SSIS 2012 it must be

    [GuidAttribute("FF5DD3F1-99C1-4FFB-B097-1B1B2B9E9B2D")]
    public interface CManagedComponentWrapper : IDTSDesigntimeComponent100


    Arthur My Blog

  • Tuesday, February 05, 2013 1:25 PM
     
     Answered Has Code

    hi,

    I solved the problem in the code.

    The problem came that some of the ComponentClassID's are changed in SQL 2012.

    componentSource.ComponentClassID = "DTSAdapter.FlatFileSource.2"; -> 
    componentSource.ComponentClassID = "DTSAdapter.FlatFileSource.3";

    So we had to change all the ComponentClassID's to get the code to work.

    Really annoying because the names of the ComponentClassID is really hard to find on the internet.

    But after finding an tutorial on msdn http://msdn.microsoft.com/en-us/library/ms136106.aspx I found the correct names and changed them all.

    I hope this will help other people


    Matthias

    • Marked As Answer by Matthias Coenen Tuesday, February 05, 2013 1:25 PM
    •