2014-10-07 3 views
0

많은 속성을 가진 멤버 유형이 하나 뿐이며 Umbraco 6.2.1에서 7.1.6으로 업그레이드되었습니다.빈 멤버 항목 유형에 대한 데이터를 가져 오지 못했습니다.

내가 마우스 오른쪽 버튼을 클릭하고 "대리점 로그인 사용자"의 새로운 회원을 만들 이동 나는이 오류 수신 : 나는이 오류가 기존 회원의 클릭에 갈 때

Server error: Contact administrator, see log for full details. 
Failed to retrieve data for empty member item type DealerLoginUser 

을 :

Server error: Contact administrator, see log for full details. 
Failed to retrieve data for member id ac15863825084e1cb1e9e620b3a1a872 

나는 푸른에 로그로 파고 그것은 나에게 500 오류를주고 이것이 내가 찾은 것입니다 :

Buffer=")]}', 
{"Message":"An error has occurred.","ExceptionMessage":"The given key was not present in the dictionary.","ExceptionType":"System.Collections.Generic.KeyNotFoundException","StackTrace":" at System.Collections.Generic.Dictionary`2.get_Item(TKey key)\r\n at Umbraco.Web.PropertyEditors.MultiNodeTreePickerPropertyEditor.MultiNodePickerPreValueEditor.ConvertDbToEditor(IDictionary`2 defaultPreVals, PreValueCollection persistedPreVals)\r\n at Umbraco.Web.Models.Mapping.ContentPropertyDisplayConverter.ConvertCore(Property originalProp)\r\n at AutoMapper.TypeConverter`2.Convert(ResolutionContext context)\r\n at AutoMapper.MappingExpression`2.<>c__DisplayClass15.<ConvertUsing>b__14(ResolutionContext context)\r\n at AutoMapper.Mappers.TypeMapObjectMapperRegistry.CustomMapperStrategy.Map(ResolutionContext context, IMappingEngineRunner mapper)\r\n at AutoMapper.Mappers.TypeMapMapper.Map(ResolutionContext context, IMappingEngineRunner mapper)\r\n at AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context)"}" 

가 나는 여기에서 참조하는 "MultiNodeTreePicker"에 오류가 있는지 참조 :

-- This script should be run after Umbraco install script 

USE DatabaseName-- specify database 
GO 

DECLARE @datatypeIds TABLE (id int); 

INSERT INTO @datatypeIds 
SELECT nodeId 
FROM cmsDataType 
WHERE propertyEditorAlias = 'Umbraco.MultiNodeTreePicker' 

DELETE FROM cmsDataTypePreValues 
WHERE datatypeNodeId IN (SELECT id FROM @datatypeIds); 

INSERT INTO cmsDataTypePreValues 
SELECT 
    [@datatypeIds].id, 
    1, 
    1, 
    'maxNumber' 
FROM 
@datatypeIds; 

SELECT  * 
FROM  cmsDataTypePreValues 
WHERE  datatypeNodeId IN (SELECT id FROM @datatypeIds) 
GO 

을하지만 그것을 잘 모르겠어요 : 올리기이 실행할 수있는 SQL 스크립트를 가지고 http://our.umbraco.org/forum/getting-started/installing-umbraco/54018-Upgrading-621-to-714-Failed-to-retrieve-data-for-data-type-error-for-MNTP

내 문제를 해결할 수 있을까요?

Be aware that this will remove all prevalues for specified datatypes. Application pool recycle will be needed afterwards.

+0

이 의견은 도움이되지 않을 것입니다.하지만 Umbraco와 함께 수년 동안 배웠던 한 가지 : 절대 인스턴스를 업그레이드하지 마십시오! 내가 너라면 v6으로 롤백하고 그 버전에 만족할 것이다. –

+0

안타깝게도 6 위에 구축하면 장기간 유지 보수가 가능하고 속도면에서 역효과가 난다. 문제를 해결하는 방법에 대한 아이디어가 있으면 언제든지 체중을 재십시오! – cvocvo

답변

0

업데이트 - 그래서 멀티 노드 treepicker를 해결하는 것입니다 링크에 지정된 SQL 스크립트를 실행하려고 : 나는에 의해 또한 포스터가 무엇을 의미하는지 모르겠어요. 그러나, 그것은 나를 위해 일하지 않았고, 회원들을 떨어 뜨리는 것처럼 보였습니다. 그것은 나빴습니다. 다행스럽게도 백업이 존재하며 백업 버전이 제자리에 스왑되어 있습니다.

나는이 문제를 다중 노드 트리 페커 (treepicker)를 사용하는 몇 가지 데이터 유형으로 추적하여 제대로로드하지는 않았습니다 (멤버 유형의 일반 속성으로 지정됨).

업데이트 2 (해결책 2) :이 방법은 멤버 형식의 속성을 삭제 한 끊어진 데이터 형식 (레이블/텍스트 문자열)에서 변경하여 해결되었습니다. 또한 SQL은 내 구성원을 삭제하지 않았고 구성원 형식을 삭제 한 다음 문제를 추적하여 해당 형식의 모든 구성원을 제거했습니다.