Not able to invoke SSIS package from VB.NET code

  • Hi All,

    I have written a VB.NET code which invokes SSIS package using the Microsoft.SqlServer.ManagedDTS Dll. This code works in one server but NOT in other server. The only difference between these two machines would be one is 32 bit and the other one is 64 bit.

    Story behind the issue:-

    Initially, in 64 bit machine, I could not find Microsoft.SqlServer.ManagedDTS Dll in the predefined path C:\Program Files\Microsoft Sql Server\90\SDK\Assemblies folder. So, I just copied the same from 32 bit machine and placed in 64 bit machine's desired path and registered using RegAsm EXE into 64 bit machine.

    Now, when I run the package, my code (DTSExecResult) always shows that package execution is successful but my investigation shows that the package was not even invoked by the code.

    Question:-

    1. Is there anything that I am missing in my 64 bit machine? Any specific set ups required in 64 bit machine to get the ManagedDTS dll?

    2. On installing what, do we get Microsoft.SqlServer.ManagedDTS dll? Probably, I will re-install that to get the Dll.

    Please suggest me the best option to solve my issue.

    Thanks in advance,

    Suresh

    Regards,
    Suresh Arumugam

  • 1. Is there anything that I am missing in my 64 bit machine? Any specific set ups required in 64 bit machine to get the ManagedDTS dll?

    Do you really want an answer to the above question?

    Initially, in 64 bit machine, I could not find Microsoft.SqlServer.ManagedDTS Dll in the predefined path C:\Program Files\Microsoft Sql Server\90\SDK\Assemblies folder. So, I just copied the same from 32 bit machine and placed in 64 bit machine's desired path and registered using RegAsm EXE into 64 bit machine.

    I actually don't understand why you think you should be able to run RegAsm in x64 box so import COM into x64 without writing and cleaning up the COM dll so it can be used in x64. There is a lot you need to know about using COM in x64, known and unknown issues.

    http://msdn.microsoft.com/en-us/library/tzat5yw6.aspx

    Here is how to do the migration in .NET which does not including using such code in SSIS which is a SQL Server subsystem.

    http://msdn.microsoft.com/en-us/library/ms973190.aspx

    Kind regards,
    Gift Peddie

  • Thanks Peddie,

    I had a look into the links that you have shared with me regarding the usage of RegAsm and the migration of COM for x64 box.

    It was feeling kind of too much 🙁 as I am not very failiar about COM dlls.

    The main purpose of copying ManagedDTS dll from x32 box to x64 box was that, we found the DLL is missing in the location where its suppose to be in x64 box if we install SQL server with all options (I guess).

    Do you think re-installing full SQL again would solve this issue? Or installing any separate SDK alone would help me to resolve this issue? Are you sure of when this ManagedDTS dll is delivered by installing what?

    Thanks,

    Suresh

    Regards,
    Suresh Arumugam

  • The main purpose of copying ManagedDTS dll from x32 box to x64 box was that, we found the DLL is missing in the location where its suppose to be in x64 box if we install SQL server with all options (I guess).

    Do you think re-installing full SQL again would solve this issue? Or installing any separate SDK alone would help me to resolve this issue? Are you sure of when this ManagedDTS dll is delivered by installing what?

    That is the thing that dll is not supposed to be in x64 box because COM and x64 are not related. If that dll is really needed in x64 box then you need to check the SQL Server and Windows WOW64 directory because SQL Server unlike .NET uses a lot of COM like CDO in SSRS. I also think such complex COM conversion should be in .NET application and not in a SQL Server subsystem where Microsoft SQL Server team controls what you can do with your dll.

    Kind regards,
    Gift Peddie

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply