Cannot use the Microsoft.SQLServer.ManagedDTS.dll when moving my project from a machine with SQL 2005 SSIS to another with SQL 2008 SSIS.
I built up a poject with a module calling SSIS package. This module is created as a dll file. In this module, I refereed the Microsoft.SQLServer.ManagedDTS.dll with SQL server2005 and SSIS installed. It works ok. When referring this dll in the moudle, I set the specific version as FALSE. Copy local as TRUE. At the project output bin folder, there are the following new dlls: Microsoft.SqlServer.DTSRuntimeWrap.dll and Microsoft.SqlServer.ManagedDTS.dll They have the version 9.0.242.0. But when I moved the project to another machine with SQL server 2008 and SSIS to run the exe file, system reported following error: Source Microsoft.SqlServer.ManagedDTS Description Retrieving the COM class factory for component with CLSID {E44847F1-FD8C-4251-B5DA-B04BB22E236E} failed due to the following error: 80040154. And I don't think the above two dlls should be exported to output folder. So, I deleted them directly. At the developing machine with SQL 2005, it still works well. But at the target machine with SQL 2008, a new error occurs: Source MN.SwissPost.FTPTool.SSIS Description Could not load file or assembly 'Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. It looks the project at target machine cannot load the Microsoft.SqlServer.ManagedDTS.dll. Actually, I expect it calls the new version Microsoft.SqlServer.ManagedDTS.dll at the target machine. That means, the project should work as following: at the machine with SQL 2005, call the 9.0.242 version dll, at the one with SQL 2008, call the 10.0.0 version dll automatically. I wander why the "specific version as False" doesn't work in this case. How should I do to implement my expections? Thanks in advance.
August 30th, 2010 11:12am

http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/53bea126-37cd-43c3-b6d0-3626ca762b64 You need to install the 64 Bit version of SSIS.
Free Windows Admin Tool Kit Click here and download it now
August 30th, 2010 12:11pm

Thanks for your answer. But no better way? From the url, I found the question is caused by the target machine doesn't install the SQL 2005 SSIS. But now, I installed 2005 SSIS. And the target machine also installed 2008 SSIS. Do you mean it only supports 64 bit upgrading when migrating the SSIS from the 2005 to 2008? I also find aother question like mine. See following: http://www.sqldev.org/sql-server-integration-services/script-task-issue-2005-to-2008-7027.shtml https://connect.microsoft.com/SQLServer/feedback/details/450050/ssis-script-task-migration-from-2005-to-2008 It looks a bug from MS SQL. If so, maybe the only way is to rebuild my project at the target machine with new version DLL. I don't hope this is the final way.
August 30th, 2010 12:30pm

Hi, I have a smilar issue, a web site that works fine on an win 2005 server with sql 2005. However, moving the published web files to a new web site on win 2008 running sql2008, throws the following error on calling the web site: : Could not load file or assembly 'Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified I haven't yet found a solution to this problem. Should the web application be re-developed using the sql 2008 ssis ? rgds
Free Windows Admin Tool Kit Click here and download it now
October 28th, 2010 11:53am

Hi, I have a similar issue. Could not load file or assembly 'Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. It is a web page that tstarts a job. It was OK on SQL2005 and stopped to work on SQL2008R2 on a 64 bit system. My code have these imports statement. Imports Microsoft.SqlServer.Dts.Runtime Imports System.Data Imports System.Data.SqlClient I am not sure if the issue is due to 64 bit or else. Any idea?Thanks/Regards, Philippe Cand
November 13th, 2010 1:40pm

Microsoft.SqlServer.ManagedDTS Version=9.0.242.0 comes with SSIS 2005. Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0 comes with SSIS 2008 (and SSIS 2008 R2 there is no change). Where referencing Microsoft.SqlServer.ManagedDTS you must compile for a specific version. Trying to do anything different will always end in pain. Even if you think you can work around it you'll soon hit problems, for example all of the interfaces are versioned in the name, e.g. IDTSInputColumn90 vs IDTSInputColumn100. If you upgrade SQL, upgrade your code and change the references. If you need to keep code for both versions, the best you can do is have two projects with differenet references, but share the same code files. For the interfaces use a conditional compilation block and named usings (if that is the correct term) e.g. #if KATMAI using IDTSComponentMetaDataXX = Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData100; #else using IDTSComponentMetaDataXX = Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData90; #endif IDTSComponentMetaDataXX transform = pipe.ComponentMetaDataCollection.GetObjectByID(id); An example of this technique can be seen in the BIDSHelper code. KATMAI is a project level symbol defined in the 2008 project only - http://bidshelper.codeplex.com/SourceControl/changeset/view/78774#307085http://www.sqlis.com | http://www.konesans.com
Free Windows Admin Tool Kit Click here and download it now
November 15th, 2010 3:55am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics