Can’t Deploy Cubes in AX

A production server was not able to deploy cubes today.  The environment is using SQL Server 2012

Errors

I saw some errors such as

  • Failed to build the OLAP cubes. Error: Failed to process the Analysis Services database Test2012 on the <ASServerName> server. Error: Errors in the back-end database access module. The provider ‘SQLNCLI10’ is not registered.
  • The following system error occurred:  Class not registered
  • Errors in the back-end database access module. The provider ‘SQLNCLI10’ is not registered.

Investigation

I looked  at the DB server and found that the structure of the cube has been created – so I successfully connected to the server, but it could not go off to the database server to get the data.

To confirm the native client requirement I also looked at the Connection string already created on the AS Server as part of the Project Reporting data source

Provider=SQLNCLI10;Data Source=<DBServer> ;Initial Catalog=ProjectServer_Reporting;Integrated Security=SSPI;Persist Security Info=False.

Solution

Regardless of if you are running 2005 or 2008 or 2012 (or anywhere in between) you will need to have the 2008 Native Client installed

On the client you need to have installed the Microsoft SQL Server Native Client (SQL Server Native Client). This is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver.

The sqlncli10 provider for SQL 2008 R2 can be downloaded from here.
X86 package.
X64 package
IA64 package.

In case you have a SQL 2012 server and have received a Power Pivot sheet which want to use the SQLNCLI10 provider, you can change the data provider to use to data provider for SQL 2012: SQLNCLI11

In case you can’t selected the SQL Server Native Client 11.0. The provider is not installed on your client. The SQLNCLI11 provider for SQL 2012 can be downloaded from here:
X86 package
X64 package

That should be it. After installing the SQL Server Native Client, redeploy your cubes

How to deploy all AX2012 reports

 

There’re 3 different ways to deploy Dynamics AX2012 reports:

  1. Through AOT
    AOT > SSRS Reports > Reports > right click on report > Deploy Element
  2. Through Visual Studio
    Open the report project > Right click on the project or solution node > Deploy
  3. Through PowerShell
    Publish-AXReport -ReportName *

Through AOT

– Go to AOT > SSRS Reports > Reports > (right click on report) > Deploy Element

– Right click on the report node

– Click “Deploy Element”

Image(1)

Deploy AX2012 report through AOT

Through Visual Studio

– Open the report project

– Right click on the project or solution node

– Click “Deploy”

Image(2)

Deploy AX2012 report through Visual Studio

Through PowerShell

– Go to: Start > Administrative Tools > Microsoft Dynamics AX 2012 Management Shell

– Then enter Publish-AXReport -ReportName *

This will deploy all AX2012 reports into report server, you might want to do this after the initial installation as the report server doesn’t have all the report there yet. It takes about 20 minutes for me to deploy all the reports (that’s on my Hyper-V image, if run on better spec server, it could be much faster).

If you want to deploy a specific report, just replace the wildcard (*) with the report name.

Eg. Publish-AXReport -ReportName SalesInvoice

*It is the report name under AOT > SSRS Reports > Reports > SalesInvoice, not the project name under AOT > Visual Studio Projects > Dynamics AX Projects > SalesInvoiceReport

Image(3)

Publish-AXReport -ReportName * will deploy all report (use wildcard to deploy full set of report)

Image(4)

Report deployment in progress

Image(5)

Report deployment in progress

Image(6)

Report deployment in progress

Image(7)

Report deployment completed

Image(8)