这两天部署 SSIS 项目时一直抛出一个错误,即“由于错误 0xC0011008 ‘从 XML 加载时出错。没有关于此问题的更详细错误信息,因为没有传递可存储详细错误信息的 Events 对象。’,无法加载包。当 CPackage::LoadFromXML 失败时,会出现这种情况”。下面谈谈部署方法以及解决方法。

这次部署项目的具体方法,是按照之前我写过的一篇 SSIS 项目部署文章所谈方法部署的。由于坚信自己的方法没有问题,一直怀疑是 SQLServer 版本或 SSIS 开发环境的问题,所以我将开始由 VS2015 开发的 SSIS 项目转移到 VS2013,并将 SQLServer2014 重新安装,并打好 SP2 补丁,大费周折之下,结果事与愿违,还是一样的结果(如下图示)。

ssis-deploy-failure.jpg

点击图中红线框中“失败”,得到原因仍然是

由于错误 0xC0011008“从 XML 加载时出错。没有关于此问题的更详细错误信息,因为没有传递可存储详细错误信息的 Events 对象。”,无法加载包。当 CPackage::LoadFromXML 失败时,会出现这种情况。(xxxx)

见下图,其中黑色遮盖的部分为 SSIS 包名称。

ssis-failure-reason.jpg

在坚持按照之前文章的部署方法,并阅读大量技术文章,对该问题近百遍的死磕后,耗时整整 1 天,已精疲力竭,但问题如初,开始怀疑是否为 SQLServer 产品存在 Bug 所致,同时也怀疑前文的部署方法可能存在问题,遂从根源(即 SSIS 部署)上寻找问题原因。

真是山穷水复疑无路,柳暗花明又一村,经过多次借鉴并尝试其它部署方法,终于在网友的部署 SSIS包(二)一文指引下,问题终于得解,感谢xdlysk的博客的奉献。有兴趣的读者可以去看看。

本次部署 SSIS 项目的失败,看出我的上一篇 SSIS 项目部署的文章存在很大的问题。因为没有考虑过直接 ispac 文件部署因权限级别不够而导致失败。针对上篇文章的问题作出以下修正。

  1. 在SQL Server 服务器上“Integration Services 目录”中新建 SSISDB 目录。如果该目录已存在则该步骤忽略。

  2. 在 Visual Studio 中右键 SSIS 项目,选择“生成”,在\bin\Development目录中可以找到.ispac文件(Integration Services Project Deployment File)。并将该文件复制到目标服务器上。要注意的是上一文中提到的除.ispac之外的其它文件都不需要复制

  3. 这是最关键的一步,在 SSISDB 目录中新增一个文件夹,展开文件夹,右键项目,选择“部署项目”,再选择.ispac文件,下面步骤和上一文基本一致了。

    ssis-deploy-new.png

通过本次问题得到一个教训,以前的经验不一定是对的,在用以前的经验多次尝试失败后,应该开始怀疑,然后找出经验的漏洞,再解决之。

空非易文章均为原创,转载请以链接形式注明本文地址

本文地址:http://pengzhiyong.com/archives/166.html

作者:空非易 | 标签: , | 浏览:1785