SQL Server 2005 SSIS error 0xC0010014
When you try to execute the SSIS package in the Execute Package Utility dialog box, you receive the following error message:
The package failed to load due to error 0xC0010014 "One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors.". This occurs when CPackage::LoadFromXML fails.
出现这个问题的原因是不正确的 SQL 组件/补丁 安装顺序引起的. 这个应该只对 64-bit SQL Server 2005 有影响.比如说, 先安装了 SQL 2005 的数据库引擎,然后打 SP3,之后再安装 Integration Service 组件, 再按照默认设置打 SP3 补丁, 就会出现问题. 在安装Integration Service 的过程中, 其实又会将之前第一次 SP3 补丁中的部分文件替换会 RTM 版本, 而且重打SP3的时候,默认是不会再更新这些文件的(主要客户端的一些文件).
解决方法:
A 重新注册 DTS.dll 和 MsDtsSrvrUtil.dll 文件
If the versions of the instances of SQL Server 2005 are not earlier than SQL Server 2005 SP2, run the following command at a command prompt to register the 32-bit Dts.dll file:
%windir%syswow64regsvr32 "%ProgramFiles(x86)%Microsoft SQL Server90dtsbinndts.dll"
You may also need to manually register MsDtsSrvrUtil.dll, using
%windir%syswow64regsvr32 "%ProgramFiles(x86)%Microsoft SQL Server90dtsbinnMsDtsSrvrUtil.dll
If running 64-bit Integration Services, you may need to manually register the 64-bit dlls using these commands
%windir%system32regsvr32 "%ProgramFiles%Microsoft SQL Server90dtsbinndts.dll
%windir%system32regsvr32 "%ProgramFiles%Microsoft SQL Server90dtsbinnMsDtsSrvrUtil.dll
B 重新打 SP2/SP3 补丁
不过这次最好把所有客户端和服务端组件都选上, 反正已经更新到SP3的覆盖一下也不会有问题.