2013-03-08 41 views
7

Về cơ bản:
Tôi có một dự án với 4 gói. Tất cả trên chúng đều có các trình quản lý kết nối khác nhau, ngoại trừ một trình quản lý kết nối được chia sẻ giữa 2 gói để tôi làm cho nó trở thành một trình quản lý kết nối dự án.SSIS 2012 Lỗi trình quản lý kết nối dự án

  • Nếu tôi cố gắng xây dựng dự án, tôi gặp lỗi bên dưới.
  • Nếu tôi thay đổi CM dự án để một CM gói, nó xây dựng tốt

Vì vậy, rõ ràng là một thực tế rằng tôi có một CM dự án là vấn đề.

Tôi có thể thiếu gì?

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) 
+0

Dường như bạn đã xác định kết nối trong gói có cùng tên với CM dự án. Nó có thể nằm trong bất kỳ gói nào, không chỉ những gói bạn dự định sử dụng CM dự án. –

+0

Tôi đã gặp phải điều này hôm nay. Di chuyển CM trở lại một gói và sau đó quay lại dự án đã giải quyết nó đến nơi tôi có thể xây dựng. –

+0

@JohnMo Vui lòng thêm nhận xét hữu ích của bạn làm câu trả lời để câu hỏi này không hiển thị như chưa được trả lời cho người dùng SO. –

Trả lời

0

Chuyển CM trở lại gói rồi quay lại dự án đã giải quyết nó ở nơi tôi có thể tạo.

7

Điều này xảy ra khi bạn có cùng một trình quản lý kết nối hai lần (ví dụ: được sao chép giữa 2 gói) và bạn quảng cáo một trong số đó là kết nối dự án.

Gói đầu tiên sẽ hiển thị trình quản lý kết nối của "(project) remoteSystem". Gói thứ hai sẽ vẫn hiển thị "remoteSystem" và kết nối cấp dự án mới sẽ không được hiển thị.

Nếu bạn xóa kết nối cấp gói trong gói thứ hai, bạn sẽ a) giải quyết lỗi và b) trình quản lý kết nối cấp dự án sẽ hiển thị.

Sau đó, bạn sẽ phải đi qua tất cả các thành phần tham chiếu trình quản lý kết nối bạn đã xóa và chuyển hướng chúng đến kết nối cấp dự án mới.

Các vấn đề liên quan