Analysis Services client libraries
Applies to: SQL Server Analysis Services Azure Analysis Services Power BI Premium
Client libraries are necessary for client applications and tools to connect to Analysis Services. Microsoft client applications like Power BI Desktop, Excel, SQL Server Management Studio (SSMS), and Analysis Services projects extension for Visual Studio install all three client libraries and update them along with regular application updates. Custom client applications also require client libraries are installed. Client libraries are updated monthly. Before downloading, be sure to see Known issues.
Download the latest
Analysis Services Management Objects (AMO) and ADOMD client libraries are available as installable packages from NuGet.org. It's recommended you migrate to NuGet references instead of using Windows Installer.
Starting Feb. 2021, versions of .NET Core packages equivalent to the AMO and ADOMD client packages are also available. There are, however, a few scenarios not-supported by the .NET Core versions. To learn more, see Known issues later in this article.
NuGet package assemblies AssemblyVersion follow semantic versioning: MAJOR.MINOR.PATCH. NuGet references load the expected version even if there is a different version in the GAC (resulting from MSI install). PATCH is incremented for each release. AMO and ADOMD versions are kept in-sync.
AMO and ADOMD
AMO and ADOMD .Net Core
Minimum required versions
Transport Layer Security (TLS) protocol version 1.0/1.1 will be deprecated in Azure Active Directory by June 30, 2021. Going forward, TLS 1.2 and higher is required. TLS 1.2 is not supported in earlier versions of the Analysis Services client libraries. Newer client library versions include support for TLS 1.2 and higher as well as other important security enhancements.
To minimize risk and potential security vulnerabilities, beginning June 30th, 2021, enhanced security in Azure Analysis Services and Power BI require the following or higher versions:
|Client lib||File version||Version|
AMO and ADOMD
Beginning with version 220.127.116.11, ADOMD.NET and AMO/TOM use MSAL (Microsoft.Identity.Client) version 4.43.0 instead of ADAL to authenticate users with AAD when establishing a connection to cloud-based services like Power-BI and Azure Analysis Services. If your application or another component the application depends on is using MSAL, it may be necessary to update the application's binding redirect settings if there are conflicts between the versions of MSAL loaded by the components.
AMO and ADOMD .Net Core
Supported scenarios include connections to Azure Analysis Services, Power BI Premium, and SQL Server Analysis Services. TCP based connectivity is supported for Windows computers only.
Interactive login with Azure Active Directory is supported for Windows computers only. The .NET Core Desktop runtime is required.
Dependency in MSAL requires version 4.43.0 and higher.
Version 19.14.0 of the .Net Core client libraries introduced preview support for Self-Contained publishing (both in a published directory, and in single-file mode), as well as support for consumption by .NET 5.0 projects. A number of issues related to connectivity to SQL Server Analysis Services that were identified in the previous release have been fixed.
Version 18.104.22.168 of the .Net Core client libraries introduced support for SQL Server Analysis Services. Lower preview versions only supported Azure Analysis Services and Power BI datasets.
Version 22.214.171.124 of the AMO client library introduces a new enumeration, Microsoft.AnalysisServices.DataType. However, the previous enumeration, Microsoft.AnalysisServices.Tabular.DataType still exists. If your code references the previous enumeration simply as DataType in a code file with statements to both namespaces (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), due to the ambiguity, you could get an error when compiling. To resolve the error, fully qualify the reference to the enumeration.
A regression related to connections to cloud-based systems using AAD was discovered in the 126.96.36.199 version of OLEDB (MSOLAP). It was fixed in the 188.8.131.52 version. Due to the nature of the issue, an installed 184.108.40.206 version, as well any other version prior to 220.127.116.11, cannot be corrected by simply upgrading the provider, even if setup is run in repair mode. It’s recommended to completely uninstall the 18.104.22.168 [or other problematic] version and then install the 22.214.171.124 or later version.
Understanding client libraries
Analysis Services utilizes three client libraries. ADOMD.NET and Analysis Services Management Objects (AMO) are managed client libraries. And Analysis Services OLE DB Provider (MSOLAP DLL) is a native client library. Typically, all three are installed at the same time.
Microsoft client applications like Power BI Desktop and Excel install all three client libraries and update them when new versions are available. Depending on the version or frequency of updates, some client libraries may not be the latest versions required by Azure Analysis Services and Power BI. The same applies to custom applications or other interfaces such as AsCmd, TOM, ADOMD.NET. These applications require manually or programmatically installing the libraries. The client libraries for manual installation are included in SQL Server feature packs as distributable packages. However, these client libraries are tied to the SQL Server version and may not be the latest. Make sure you always install the latest, downloadable from this article.
Client library types
Analysis Services OLE DB Provider (MSOLAP)
Analysis Services OLE DB Provider (MSOLAP) is the native client library for Analysis Services database connections. It's used indirectly by both ADOMD.NET and AMO, delegating connection requests to the data provider. You can also call the OLE DB Provider directly from application code.
The Analysis Services OLE DB Provider is installed automatically by most tools and client applications used to access Analysis Services databases. It must be installed on computers used to access Analysis Services data.
OLE DB providers are often specified in connection strings. An Analysis Services connection string uses a different nomenclature to refer to the OLE DB Provider: MSOLAP.<version>.dll.
AMO is a managed client library used for server administration and data definition. It's installed and used by tools and client applications. For example, SQL Server Management Studio (SSMS) uses AMO to connect to Analysis Services. A connection using AMO is typically minimal, consisting of
"data source=\<servername>". After a connection is established, you use the API to work with database collections and major objects. Both Visual Studio and SSMS use AMO to connect to an Analysis Services instance.
ADOMD.NET is a managed data client library used for querying Analysis Services data. It's installed and used by tools and client applications.
When connecting to a database, the connection string properties for all three libraries are similar. Almost any connection string you define for ADOMD.NET by using Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString also works for AMO and the Analysis Services OLE DB Provider (MSOLAP). To learn more, see Connection string properties.
Check installed versions
C:\Program Files\Microsoft Analysis Services\AS OLEDB\. If you have more than one folder, choose the higher number.
Right-click msolap.dll > Properties > Details. Check the Product version property. Note: If the filename is msolap140.dll, it's older than latest version and should be upgraded.
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\. If you have more than one folder, choose the higher number.
Right-click Microsoft.AnalysisServices > Properties > Details.
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\. If you have more than one folder, choose the higher number.
Right-click Microsoft.AnalysisServices.AdomdClient > Properties > Details.
Client libraries are typically installed and updated automatically along with tools and client applications that use them. However, in some cases client libraries may not be updated automatically and each must be manually updated. To update manually, download and run the Windows Installer (.msi) package for each client library.
To download and update
In Downloads, click a Windows Installer Package to run Setup.
In Setup, click Next.
Read the license agreement. If you agree, select I accept the terms in the license agreement, and then click Next.
When completed, click Finish.