0

我在运行 32 位版本 SQL Server 2005 的 64 位 Windows 7 机器上创建了一个 SSIS 包。当我尝试在运行 32 位版本 SQL Server 2005 的 64 位 Windows Server 2008 机器上安装包时,我得到以下错误:

===================================

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 中没有程序集文件夹,因此即使它是 SQL Server 的 32 位安装,安装也是不同的。我认为这是对以前版本的升级。

到目前为止,通过我的研究,我还没有发现任何可以帮助我纠正 Server 2008 机器上的这个问题的东西。我假设较新的操作系统或 SQL 服务器的全新安装可能会导致问题,但我现在只是猜测。

我已经使用“SELECT @@VERSION”对所有 3 个 SQL Server 实例进行了版本检查,并验证了所有版本都是 32 位的。

我也在 Server 2003 机器上编译了我的包,但它仍然无法安装在 Server 2008 机器上。我还在包属性中将 Run64BitRuntime 选项设置为“False”,但到目前为止没有任何帮助。

有没有我需要从 2003 服务器传输到 2008 服务器的文件,例如 dll 文件?

任何建议,将不胜感激。

4

2 回答 2

1

事实证明,我需要卸载 sql expess 2008。我读过 sql server 2005 和 sql express 2008 可以存在于同一台服务器上,如果它们仅用作数据库实例,它们就可以存在。不幸的是,已经安装在服务器上的 sql express 2008 的安装禁止集成服务和 SQL Server 代理正常工作,并导致它们抛出上述错误。

卸载 sql express 后,一切正常。

感谢大家的回应。

于 2012-12-19T15:47:57.210 回答
0

这看起来像是您的包的构建错误。您需要跟踪该“具有 CLSID 的组件 ...”所代表的组件

通常,如果您将包添加到 BIDS SSIS 项目并执行它(调试它),有问题的组件就会变得清晰。

于 2012-12-10T03:11:22.407 回答