SSAS DSV COM error from SSDT SSAS design Data Source View


Recently I worked on a case regarding a COM error when opening the data source view (DSV) of an Analysis Services multidimensional project.

 

Error HRESULT E_FAIL has been returned from a call to a COM component. (msddsp)

 


 

Below is the call stack of the exception

 

at MSDDS.IDdsDiagram.CreateConnector(String ProgID, Boolean Visible, IDdsDiagramObject Src, IDdsDiagramObject Dest)

at Microsoft.DataWarehouse.Controls.Interop.AxMSDDS.CreateConnector(String progID, Boolean visible, IDdsDiagramObject src, IDdsDiagramObject dest)

at Microsoft.DataWarehouse.Design.ComponentDiagram.OnCreateConnector(IDdsDiagramShape startShape, IDdsDiagramShape endShape, Object logicalConnector, UInt32 color, String connectorProgID)

at Microsoft.DataWarehouse.Design.ComponentDiagram.CreateConnector(IDdsDiagramShape startShape, IDdsDiagramShape endShape, Object logicalConnector)

at Microsoft.AnalysisServices.Design.DataSourceDiagram.CreateRelationshipConnector(DataRelation dr)

at Microsoft.AnalysisServices.Design.DataSourceDiagram.ShowOtherConnectorsOnRelatedTables(DataTable dataTable)

at Microsoft.AnalysisServices.Design.DataSourceDiagram.ShowTable(DataTable dataTable, Int32 prefX, Int32 prefY, Boolean delayArrangeTables)

at Microsoft.AnalysisServices.Design.DataSourceDiagram.AfterDeserialize()

at Microsoft.DataWarehouse.Design.ComponentDiagram.SetLayoutInfo(String xml)

at Microsoft.DataWarehouse.Design.ComponentDiagram.OnDiagramControlCreated(DdsDiagram dds)

at Microsoft.AnalysisServices.Design.DataSourceDiagram.OnDiagramControlCreated(DdsDiagram dds)

at Microsoft.DataWarehouse.Design.ComponentDiagram.CreateDdsView(Control parentControl)

at Microsoft.AnalysisServices.Design.DataSourceDesignerView..ctor(DataSourceDesigner designer, DataSourceDiagram diagram, IComponent diagramOwnerComponent)

at Microsoft.AnalysisServices.Design.DataSourceDesignerView..ctor(DataSourceDesigner designer)

at Microsoft.AnalysisServices.Design.DataSourceDesigner.CreateDataSourceDesignerView(VsStyleToolBar pageViewToolBar)

at Microsoft.DataWarehouse.Design.EditorWindow.EnsureViewIsLoaded(EditorView view)

 

Let me explained what happens. If you have a machine installed SQL Server 2012 version of the SQL Server Data Tools, you should have this DLL file C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Bin\DDSShapes.dll

 

When you design the table relationship in a DSV, Visual Studio loads this DLL to write binary object data into the DSV metadata. The binary data for the table relationship shape object begins with "0008" in the <ddscontrol> element. Please see the screen shot below

 


 

If you have another machine that installs SQL Server 2014 version of the SQL Server Data Tools, it loads this DLL file C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Bin\DDSShapes.dll. If you use SQL Server 2014 version of the SQL Server Data Tools to modify the DSV, the binary data starts with "000a".

 


 

If you try to use SQL Server 2012 version of the SQL Server Data Tool to open the DSV modified by the SQL Server 2014 version of the SQL Server Data Tool, you gets this COM exception. The reason is, this leading 4 characters of binary data is the version of ATL used to compile the DDSShapes.dll. When this DLL reads the binary data, it check if the version of the ATL that was used to save the data, making sure it is below the version recognized by the DDSShapes.dll. "000a" is a higher value than "0008", so the SQL Server 2012 version of the SQL Server Data Tool throws an exception.

 

The solution is to install the SQL Server 2014 version of the SQL Server Data Tool from https://msdn.microsoft.com/en-us/data/hh297027 . You should get the new version of the DDSShapes.dll in C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Bin.

 

After explicitly registering the DDSShapes.dll from C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Bin (using regsvr32), the problem should be resolved. Please see the command below

 


 

This means, if there are multiple SSAS developers working on the same SSAS database or project, and one of the developers starts to use SQL Server 2014 version of the SQL Server Data Tools, all the developers should install the SQL Server 2014 version of the SQL Server Data Tools.

 

 

 

 

 

 

 

 


Comments (17)

  1. Manoj says:

    Life Saver !!!!

  2. Charlene says:

    Thank you so much!! Fixed the problem.

  3. Dimple Wadhwa says:

    Changing from 000a to 0008 saved me. Thanks aallllllllott 🙂 🙂

  4. samira abdi says:

    Done !
    thank u for this helpful article 🙂

  5. Clément says:

    Hi,

    I experienced a related issue with the difference that it was the Data Source View part of a dimension .dim which was empty and that I had to replace 000c with 0008.

    This bug is very annoying. Thanks a lot for this article.

    a+,=)
    -=Clement=-

    Configuration:
    SQL Server Analysis Services v11.0.5058.0
    SQL Server Data Tools 10.3.31009.2
    Visual Studio 2010 Shell (Integrated) - ENU Service Pack 1 (KB983509)

  6. LocTeam says:

    Incredible insight. Saved my sanity.

  7. Paul Treston says:

    Great, thanks. Sorted out the problem for me.

  8. Yulia says:

    I've spent 3 days trying to resolve "an error prevented the view from loading"... thank you so much for this post!

  9. Gideon JvV says:

    Wow. Excellent, thanks!

  10. Replying to Kevin N

    Yes, you can edit an ALTER XMLA command to change the DSV elements back to "0008"

  11. Kevin N says:

    I don't have the luxury of installing software on the system I am trying to run this on.  The code came from my local computer, where VS2012/2013 is installed, but got moved over to a different workspace.  Can I edit the "000a" back to "0008" in all my DSVs?

  12. Robert Mulroney says:

    This error came about for me when I installed VS2012 after VS2013. The Solution worked perfectly, many thanks.

  13. David B. says:

    Very good ! Clearly explained. In my case the 2014 DLL (in /120/..) appeared to be correctly installed but not used by Visual Studio until I registered it. Why this didn't happen when uprading SQL Server to 2014, I know not. Maybe something to do with the sequence of installation/updating of SQL Server and Visual Studio ?

  14. Sambhu says:

    Thank you so much....This helped me. It Solved my Problem.

    I was not able to see the design of Data Source View. This command [The command Above] solved my issue.

  15. Adam L. says:

    Changing from 000a to 0008 saved my butt.  Thanks so much!

  16. LeszekGDY says:

    Thanks for this article. Very useful 🙂

  17. Leszek says:

    Great article! - you saved my life 🙂

Skip to main content