sql-server - SSIS 2012项目连接管理器错误

标签 sql-server ssis sql-server-2012

基本上:
我有一个包含 4 个包的项目。它们都有不同的连接管理器,除了一个在两个包之间共享的连接管理器之外,所以我将其设为项目连接管理器。

  • 如果我尝试构建该项目,则会收到以下错误。
  • 如果我将项目 CM 更改为包 CM,则可以正常构建

很明显,我有一个项目 CM 就是问题所在。

我可能会缺少什么?

Error   21  System.ArgumentException: An item with the same key has already been added.  
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)   
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)  
   at Microsoft.SqlServer.Dts.Runtime.ReferenceId.ReferenceMap.Add(String key, String value, Boolean isExternal)  
   at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.AddRefIdAttribute(XmlElement element, String objectName, String objectId, ReferenceParserState state)   
   at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.GenerateRefId(XmlElement element, ReferenceParserState state)    
   at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.ProcessElement(XmlElement element, ReferenceParserState state)    
   at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdConverter.MapRefIds(IDTSPackage100 package, IDTSInfoEvents100 events, XmlDocument document)    
   at Microsoft.SqlServer.Dts.Runtime.DTSManagedXmlSerializationHelper.AfterSavePackageToXML(IDTSPackage100 package, IDTSInfoEvents100 events, String& packageXml)     
   at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.ClonePackageToXML(Object& pvDestination, Boolean vbReturnDOM, IDTSEvents100 pEvents)    
   at Microsoft.SqlServer.Dts.Runtime.Project.SavePackage(IProjectStorage storage, Package package, String streamName, Boolean preserveVersionGuid)    
   at Microsoft.SqlServer.Dts.Runtime.Project.SavePackage(Package package, String streamName, Boolean preserveVersionGuid)   
   at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow outputWindow)  
   at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow outputWindow)   

最佳答案

当您有两次相同的连接管理器(例如:在 2 个包之间复制)并且您将其中一个升级为项目连接时,就会发生这种情况。

第一个包将显示“(项目)remoteSystem”的连接管理器。第二个包仍将显示“remoteSystem”,并且不会显示新的项目级别连接。

如果删除第二个包中的包级别连接,您将 a) 解决错误,b) 项目级别连接管理器将变得可见。

然后,您必须检查引用您删除的连接管理器的所有组件,并将它们重新定向到新的项目级别连接。

关于sql-server - SSIS 2012项目连接管理器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297023/

相关文章:

c# - SQL 服务器 : conditional aggregate ;

sql-server - 基于动态XML的插入/更新

sql-server - 从 Sharepoint 到 SQL Server 的 SSIS Excel/CSV

sql-server - SSIS 能满足我的需求吗?

ssis - 如何将 DTS 包转换为 SSIS 包?

sql - 如何解锁 SQL Server 2012 中的表?

sql - LINQPad - 无法理解生成的查询

sql-server - 在SQL Server中,如何减少使用Select Top 1000 Rows时显示的列数?

sql-server - SQL Server 数据是如何返回的

sql-server - SQL Server 约束不会保存我定义它的方式