문제

Visual Studio (2008)에서 보고서 모델을 수정하고 있습니다. DSV 파일 (기본 데이터베이스 변경 후)을 새로 고치면 SMDL 파일의 동일한 변경 사항을 수동으로 반영하면 엔티티에서 속성을 삭제할 때마다 어떻게 든 보고서 모드 프로젝트가 손상됩니다.

속성 삭제하면 다음과 같은 참조가 제거됩니다. <IdentifyingAttributes> 그리고 <DefaultDetailAttributes> SMDL 파일의 섹션 :

<AttributeReference>
  <!--My Attribute-->
  <AttributeID>G30ea3652-7f92-41d0-a25a-500c82317288</AttributeID>
</AttributeReference>

또한 속성 자체를 제거합니다.

<Attribute ID="G30ea3652-7f92-41d0-a25a-500c82317288">
  <Name>My Attribute Name</Name>
  <DataType>Integer</DataType>
  <Nullable>true</Nullable>
  <SortDirection>Descending</SortDirection>
  <Width>4</Width>
  <Format>g</Format>
  <EnableDrillthrough>true</EnableDrillthrough>
  <ContextualName>Merge</ContextualName>
  <ValueSelection>Dropdown</ValueSelection>
  <Column Name="Blah" />
</Attribute>

이것이 SMDL 파일을 어떻게 엉망으로 만들지 알 수 없습니다.

어쨌든, 내 질문은 : 다른 사람이 같은 문제를 겪었습니까? 그렇다면 (SMDL을 자율적으로 생성하는 것 외에도)

또한 이유가 있습니까? ~ 아니다 자가 생성? (나는 동료에 의해 말하지 않았지만 이것의 동기를 이해하지 못한다) .. ..

도움을 주셔서 감사합니다, Pete.

도움이 되었습니까?

해결책

좋아, 여기서 내 질문에 대답 할 수 있습니다. 관련 문제가있는 것 같습니다 숨겨진 필드. 삭제하려는 속성 또는 역할이 다른 역할의 숨겨진 필드 컬렉션에서 참조되면 (속성 또는 역할) 삭제하면 컬렉션에서 보관 된 참조가 고아됩니다. Visual Studio가 이것을 할 수있을만큼 영리하지 않은 것처럼 보입니다 - bah!

그런 다음 저장 후 보고서 모델 프로젝트를 다시 열려고 할 때, "객체 참조는 객체 인스턴스로 설정되지 않습니다"라는 사랑스럽고 표현적인 오류 메시지를 얻습니다.

"객체 참조 ..."오류를 얻을 때 이것을 해결할 수있는 유일한 방법은 메모장 (또는 이와 유사한)에서 SMDL 파일을 열고 삭제하는 것의 안내 참조를 검색하는 것입니다. 역할의 경우 관계의 양쪽 끝 (소스 또는 대상)에서 발생할 수 있습니다.

다른 팁

답을 확장하기 위해 숨겨진 필드는 다음과 같은 것처럼 보일 것입니다. SMDL):

<!-- NameOfEntity -->
<FieldFolderItemId>G3a4a8c45-c900-4286-afdd-d31deb70be41</FieldFolderItemID>

전체 항목을 수동으로 삭제하십시오.
조금만 멍하니 작동합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top