【问题标题】:SSIS error loading package in VS 2012 with TFS在 VS 2012 中使用 TFS 加载包时出现 SSIS 错误
【发布时间】:2013-12-21 07:36:54
【问题描述】:

我在尝试使用 Visual Studio 2012 执行 SSIS 包时收到以下错误:

错误 39 Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: 由于错误 0xC0011008“从 XML。无法为此指定更详细的错误信息 问题,因为没有通过事件对象详细错误 信息可以存储。”。当 CPackage::LoadFromXML 失败。 ---> System.Runtime.InteropServices.COMException:包 由于错误 0xC0011008 “从 XML 加载错误。否,无法加载 可以为此问题指定更详细的错误信息 因为没有传递任何事件对象,详细的错误信息 可以存储。”。当 CPackage::LoadFromXML 失败时会发生这种情况。
在 Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML(对象 vSource,布尔 vbSourceIsLocation,IDTSEvents100 pEvents)在 Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(字符串 packageXml, IDTSEvents 事件) --- 内部异常堆栈跟踪结束 ---
在 Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(字符串 packageXml,IDTSEvents 事件)在 Microsoft.SqlServer.Dts.Runtime.Project.LoadPackage(IProjectStorage storage, Package package, String streamName, IDTSEvents events) 在 Microsoft.SqlServer.Dts.Runtime.PackageItem.Load(IDTSEvents 事件)
在 Microsoft.SqlServer.Dts.Runtime.PackageItem.get_Package() 在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow 输出窗口)在 Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow 输出窗口)

0 0

包存储在 TFS 中,我可以打开包/解决方案而不会出现任何错误。当我尝试执行包或包中的任何步骤时,我只是收到错误。

我在我的机器(64 位)上创建了一个新包,它运行良好。从 TFS 打开时,我只是在运行包时遇到问题。

谢谢 斯科特

【问题讨论】:

  • 虽然您可能将 TFS 用于您的源存储库,但您的机器上是否真的有包?在后台,当您在 SSDT/BIDS/VS 中按 F5 运行包时,使用 2012 版本和项目部署模型,它首先将包、连接管理器和项目参数编译成 .ispac 文件 (zip),然后对 .ispac 本身执行操作以运行包。如果有人签入Development\bin\project.ispac,如果没有自动签出,则构建/运行过程可能会失败
  • billinkc,我在本地 c: 驱动器上创建了一个工作区,然后提取了整个文件夹。然后我在 VS 2012 中打开了解决方案并检查了包。这是我得到错误的地方。但是,如果我在 VS 2012 的机器上创建一个全新的 ssis 项目并将这个包添加到项目中,它工作正常。我的机器上确实有多个版本的 Visual Studio(2008/2010/2012),所以不确定从 TFS 打开包时是否存在版本冲突。
  • 我怀疑根本问题是您使用了错误的 Visual Studio 版本来搭配您的 SSIS 包。 VS 2005 -> SQL Server 2005。VS 2008 -> SQL Server 2008/2008 R2。 VS 2010 -> SQL Server 2008/2008 R2 和 SQL Server 2012。VS 2012 -> SQL Server 2012,最终是 SQL Server 2014。
  • 感谢 billinkc,有没有办法告诉 Visual Studio 使用哪个版本的 SQL?
  • billinkc,我还能够使用 SQL Server 2012 SSIS 执行包实用程序运行包。从 Visual Studio 2012 IDE 运行时它会失败??很郁闷...

标签: sql-server visual-studio-2012 tfs ssis


【解决方案1】:

我通过更改我的解决方案所指向的 SQL Server sdk 版本解决了一个非常相似的情况。

我安装了 SQL Server Express 2008,并且正在使用 VS 2012 和 BI Tools 2012。因此,我的解决方案是引用程序集 Microsoft.SqlServer.ManagedDTS.dll 版本 10。就我而言,正确的是版本 12。

【讨论】:

    【解决方案2】:

    我在尝试打开使用了我没有安装的组件的 SSIS 包时遇到了这个问题。就我而言,它是“Azure 功能包”。

    【讨论】:

      【解决方案3】:

      我在 Win64、VS2013、SQL2012 系统上遇到过类似的错误。 SSIS 包未正确加载。
      识别:我创建了整个包的本地副本,并将问题缩小到单个子包。
      原因:日期格式不同。
      解决方案:我不得不将 Windows 日期格式更改为 UK(包的来源),然后一切都很好。

      【讨论】:

        【解决方案4】:

        您还必须直接将参考库复制到 Program Files。 我看到在 (x86) 路径中,文件在那里,但不在 Program Files 的 64 位文件夹中。我正在使用 Visual Studio 2010

        1 - C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Connections
        
        2 - C:\Program Files\Microsoft SQL Server\110\DTS\Connections
        

        在位置 1 中找到了引用的 DLL,但在位置 2 中没有。 我关闭了 Visual Studio,将 DLL 复制到路径 2,然后再次打开 VS。该软件包就像正常工作一样。

        【讨论】:

          【解决方案5】:

          我通过更改项目常规配置属性中的 TargetServerVersion 解决了非常相似的情况。我使用 Visual Studio 2015。默认情况下选择 SQL Server vNext,而我安装了 SQL Server 2012。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-29
            • 1970-01-01
            • 2011-10-20
            相关资源
            最近更新 更多