我在运行32位版本的SQL Server 2005的64位Windows 7上创建了一个SSIS包。当我尝试在运行32位版本SQL Server的64位Windows Server 2008上安装该包时2005我收到以下错误:
===================================
Unexpected error occurred. (Package Installation Wizard)
===================================
Retrieving the COM class factory for component with CLSID {E44847F1-FD8C-4251-B5DA-B04BB22E236E}
failed due to the following error: 80040154. (Microsoft.SqlServer.ManagedDTS)
------------------------------
Program Location:
at Microsoft.SqlServer.Dts.Runtime.Application..ctor()
at Microsoft.SqlServer.Dts.Deployment.PackageInstallationWizardForm..ctor()
at Microsoft.SqlServer.Dts.Deployment.PackageInstaller.Main(String[] args)
===================================
Retrieving the COM class factory for component with CLSID {E44847F1-FD8C-4251-B5DA-B04BB22E236E}
failed due to the following error: 80040154. (Microsoft.SqlServer.ManagedDTS)
------------------------------
Program Location:
at Microsoft.SqlServer.Dts.Runtime.Application..ctor()
我也试过将它安装在我的Windows 7盒子上并得到了同样的错误。我在运行64位Windows Server 2003的测试服务器上运行相同版本的SQL Server 2005,安装向导启动就好了。
在Server 2003框中,C:\ Program Files(x86)\ Microsoft SQL Server \ 90 \ SDK中没有程序集文件夹,因此即使它是32位SQL Server安装,安装也会有所不同。我认为它是以前版本的升级版。
到目前为止,通过我的研究,我还没有找到任何帮助我通过Server 2008框解决此问题的方法。我假设较新的操作系统或SQL服务器的干净安装可能导致问题,但我只是在猜测。
我使用“SELECT @@ VERSION”对所有3个SQL Server实例进行了版本检查,并验证了所有版本都是32位。
我也在Server 2003框中编译了我的包,它仍然不会安装在Server 2008框中。我还在包属性中将Run64BitRuntime选项设置为“False”,但到目前为止没有任何帮助。
我是否需要从2003服务器传输到2008服务器的任何文件(如dll)?
任何建议将不胜感激。
答案 0 :(得分:1)
事实证明我需要卸载sql expess 2008.我读过sql server 2005和sql express 2008可能存在于同一台服务器上,如果它们只被用作数据库实例的话。不幸的是,已经安装在服务器上的sql express 2008的安装禁止Integration Services和SQL Server Agent正常工作并导致它们抛出提到的错误。
卸载sql express后一切正常。
感谢所有回复的人。
答案 1 :(得分:0)
这看起来像是您的包的构建错误。您需要跟踪“具有CLSID ...的组件”
所代表的组件通常,如果您将软件包添加到BIDS SSIS项目并执行它(调试它),那么带有问题的组件将变得清晰。