Tabular Annotation Workaround
After upgrading to SQL Server 2012 SP1 SSDT, some users have complained about receiving an error that prevents them from opening the .bim file in a Tabular model:
An error occurred while opening the model on the workspace database. Reason: ReadElementContentAs() methods cannot be called on an element that has child elements.
at Microsoft.AnalysisServices.VSHost.VSHostManager.PrepareSandbox(Boolean newProject, Boolean& isRefreshNeeded, Boolean& isImpersonationChanged, Boolean& saveRequired, List`1& truncatedTables, Boolean isRealTimeMode, Int32 clientCompatibilityLevel)
at Microsoft.AnalysisServices.VSHost.Integration.EditorFactory.CreateEditorInstance(UInt32 grfCreateDoc, String pszMkDocument, String pszPhysicalView, IVsHierarchy pvHier, UInt32 itemid, IntPtr punkDocDataExisting, IntPtr& ppunkDocView, IntPtr& ppunkDocData, String& pbstrEditorCaption, Guid& pguidCmdUI, Int32& pgrfCDW)
This problem is a bug in SSDT in that it does not properly parse annotations created by BIDS Helper. UPDATE:
This SSDT bug has been fixed
in SQL2012 SP1 CU3
If you are experiencing this issue you have two options:
1. Install SQL2012 SP1 CU3
2. Install BIDS Helper 1.6.2 and use a workaround utility which changes the storage format for BIDS Helper annotations. BIDS Helper release 1.6.2 includes this workaround feature described below.
If you choose to use the BIDS Helper workaround utility instead of installing CU3, do the following. With the .bim file closed
, right click on the .bim file and select Tabular Annotation Workaround...
This feature will popup a confirmation dialog. Read it carefully, especially the note about every developer on your team upgrading to the latest version of BIDS Helper.
As background on this issue, see the Connect issue here