Bibliothèques clientes Analysis Services
s’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Les bibliothèques clientes sont nécessaires pour que les applications clientes et les outils se connectent à Analysis Services. Les applications clientes Microsoft telles que Power BI Desktop, Excel, SQL Server Management Studio (SSMS) et l’extension de projets Analysis Services pour Visual Studio installent les trois bibliothèques clientes et les mettent à jour avec des mises à jour d’application régulières. Les applications clientes personnalisées pour Analysis Services peuvent également nécessiter l’installation d’une ou plusieurs de ces bibliothèques clientes. Les nouvelles versions des bibliothèques clientes sont mises à jour approximativement tous les mois.
Important : Avant d’obtenir les dernières versions, veillez à voir Considérations et limitations.
Télécharger la dernière version
Windows Installer
Télécharger | Version |
---|---|
MSOLAP (amd64) | 16.0.160.18 |
MSOLAP (x86) | 16.0.160.18 |
AMO | 19.84.1.0 |
ADOMD | 19.84.1.0 |
Remarque : Les téléchargements Windows Installer pour Analysis Services Management Objects (AMO/TOM) et ADOMD ne sont plus mis à jour et ne seront plus disponibles après le 31 octobre 2024. Les applications qui s’appuient sur ces téléchargements Windows Installer doivent être migrées vers des packages NuGet.
Packages NuGet
Les bibliothèques clientes AMO/TOM (Analysis Services Management Objects) et ADOMD sont disponibles en tant que packages installables à partir de NuGet.org. Il est fortement recommandé de migrer vers des références NuGet au lieu d’utiliser Windows Installer.
Les assemblys de package NuGet AssemblyVersion suivent le contrôle de version sémantique : MAJOR. MINEUR. RAPIÉCER. Les références NuGet chargent la version attendue même s’il existe une autre version dans le GAC (résultant de l’installation MSI). PATCH est incrémenté pour chaque version. Les versions AMO et ADOMD sont synchronisées.
À compter de juillet 2024, les packages AMO et ADOMD contiennent des versions multi-runtime pour tous les runtimes cibles pris en charge, à la fois .NET FX et .NET Core ; les versions antérieures des packages qui ne ciblent qu’un seul runtime, .NET FX ou .NET Core, sont disponibles pour la compatibilité descendante, mais ne sont plus mises à jour.
À compter de septembre 2022, AMO (AMO/TOM) et ADOMD .Net Core (version 19.48.0.0), la communication HTTP avec des services cloud comme Power BI et Azure Analysis Services est considérablement améliorée. Il est recommandé de mettre à jour vers la dernière version pour tirer parti des améliorations des performances.
À compter de février 2021, prise en charge du runtime .NET Core est disponible pour les packages clients AMO et ADOMD. Toutefois, il existe quelques scénarios non pris en charge par les versions de .NET Core. Pour plus d’informations, consultez considérations et limitations plus loin dans cet article.
AMO et ADOMD
Colis | Version |
---|---|
AMO | 19.86.6.0 |
ADOMD | 19.86.6.0 |
Note:
Les nouveaux packages multi-runtime n’ont plus le suffixe .retail.amd64 » dans l’identité du package et sont maintenant simplement appelés Microsoft.AnalysisServices et Microsoft.AnalysisServices.AdomdClient.
Les anciens packages .NET Framework et .NET Core sont toujours disponibles dans nuget.org pour la compatibilité descendante sous l’ancienne identité avec le suffixe .retail.amd64 » pour .NET Framework et le ». Suffixe NetCore.retail.amd64" pour .NET Core.
Versions minimales requises
Le protocole TLS (Transport Layer Security) version 1.0/1.1 a été déprécié dans Microsoft Entra ID le 30 juin 2021. TLS 1.2 ou version ultérieure est désormais nécessaire. TLS 1.2 n’est pas pris en charge dans les versions antérieures des bibliothèques clientes Analysis Services. Les versions plus récentes de la bibliothèque cliente incluent la prise en charge de TLS 1.2 et ultérieures en plus d’autres améliorations importantes de la sécurité.
Pour réduire les risques et les vulnérabilités de sécurité potentielles, à compter du 30 juin 2021, une sécurité renforcée dans Azure Analysis Services et Power BI nécessite les versions suivantes ou ultérieures :
Lib du client | Version du fichier | Version |
---|---|---|
MSOLAP | 2018.151.61.21 | 15.1.61.21 |
AMO | 15.1.61.21 | 19.12.3.0 |
ADOMD | 15.1.61.21 | 19.12.3.0 |
Considérations et limitations
AMO et ADOMD
À compter de la version 19.84.6, la prise en charge de .NET FX 4.5 et .NET Core 3.0 dans les assemblys managés n’est plus disponible. Les assemblys côté client AS sont désormais publiés avec prise en charge de .NET FX 4.7.2, ainsi que .NET 6.0 et .NET 8.0 uniquement.
À compter de la version 19.82.0.0, AMO et ADOMD prennent en charge les profils de principal de service pour l’authentification, comme dans l’exemple de chaîne de connexion suivant. Pour plus d’informations, consultez Utiliser des profils de principal de service pour gérer les données client dans des applications mutualisées. Les utilisateurs ne peuvent pas se connecter à des espaces de travail associés à une licence Premium Per-User à l’aide de profils de principal de service via le point de terminaison XMLA.
Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>
À compter de la version 19.67.0, les objets de connectivité tels que Microsoft.AnalysisServices.AdomdClient.AdomdConnection et Microsoft.AnalysisServices.Server prennent en charge une nouvelle propriété AccessToken qui permet de transmettre des jetons OAuth externes à utiliser par la couche de connectivité XMLA. Pour plus d’informations, consultez propriétés de chaîne de connexion - ID d’utilisateur=... ; Password=.
À compter de la version 19.42.0.4, ADOMD.NET et AMO/TOM utilisent MSAL (Microsoft.Identity.Client) version 4.43.0 ou ultérieure au lieu d’ADAL pour authentifier les utilisateurs avec Microsoft Entra ID lors de l’établissement d’une connexion à des services cloud tels que Power-BI et Azure Analysis Services. Si votre application ou un autre composant dépend de MSAL, il peut être nécessaire de mettre à jour les paramètres de redirection de liaison de l’application s’il existe des conflits entre les versions de MSAL chargées par les composants.
AMO et ADOMD .Net Core
Les scénarios pris en charge incluent les connexions à Azure Analysis Services, Power BI Premium et SQL Server Analysis Services. La connectivité TCP est prise en charge uniquement pour les ordinateurs Windows.
La connexion interactive avec l’ID Microsoft Entra est prise en charge uniquement pour les ordinateurs Windows. Le runtime .NET Core Desktop est requis.
La dépendance dans MSAL nécessite la version 4.43.0 ou ultérieure.
La version 19.14.0 des bibliothèques clientes .Net Core a introduit la prise en charge de la préversion pour la publication Self-Contained (à la fois dans un répertoire publié et en mode fichier unique), en plus de prendre en charge la consommation par les projets .NET 5.0. Plusieurs problèmes liés à la connectivité à SQL Server Analysis Services qui ont été identifiés dans la version précédente ont été résolus.
La version 19.12.7.2 des bibliothèques clientes .Net Core a introduit la prise en charge de SQL Server Analysis Services. Versions préliminaires inférieures uniquement prises en charge des modèles sémantiques Azure Analysis Services et Power BI.
AMO
À compter de la version 19.84.6, la prise en charge de TMDL dans AMO\TOM est considérée comme étant dans General-Availability état, et il n’y aura pas de changements cassants dans la surface de l’API.
La version 19.12.3.0 de la bibliothèque cliente AMO introduit une nouvelle énumération, Microsoft.AnalysisServices.DataType. Toutefois, l’énumération précédente, Microsoft.AnalysisServices.Tabular.DataType existe toujours. Si votre code fait référence à l’énumération précédente en tant que DataType dans un fichier de code avec des instructions aux deux espaces de noms (Microsoft.AnalysisServices, Microsoft.AnalysisServices.Tabular), en raison de l’ambiguïté, vous pouvez obtenir une erreur lors de la compilation. Pour résoudre l’erreur, qualifiez entièrement la référence à l’énumération.
La version 19.61.1.4 de la bibliothèque cliente AMO introduit une modification du comportement de restauration des transactions de Microsoft.AnalysisServices.Server. Dans les versions antérieures, un appel à Server.RollbackTransaction() envoie une demande au moteur pour restaurer la transaction, puis tenter de restaurer les modifications locales. Contrairement aux versions antérieures, dans la version 19.61.1.4 et ultérieure, si les modifications locales ne peuvent pas être restaurées en toute sécurité, les bases de données tabulaires incluses dans le bloc de transaction n’ont pas été modifiées jusqu’à ce qu’elles puissent être entièrement synchronisées et que les modifications obsolètes de la transaction qui ont été restaurées sont supprimées. Une InvalidOperationException est déclenchée lorsqu’une modification est apportée à la base de données tabulaire appropriée. Si votre code appelle Server.RollbackTransaction(), il est recommandé de suivre cet appel avec une synchronisation complète [Database.Refresh(true)] pour toute base de données tabulaire modifiée dans le cadre de la transaction.
À compter de la version 19.77.0, lors du clonage ou de la copie d’un MetadataObject dans une autre instance d’un MetadataObject à l’aide du modèle d’objet tabulaire (TOM), TOM retourne null pour les propriétés qui font référence à des objets croisés en dehors de l’arborescence directe des objets enfants de MetadataObject. Vous devez ajouter l’instance MetadataObject clonée au modèle sémantique afin que des références croisées à des objets en dehors de l’arborescence MetadataObject puissent être résolues.
Par exemple, lors du clonage d’une table avec une partition qui fait référence à une expression nommée dans entityPartitionSource, la propriété ExpressionSource de l’EntityPartitionSource retourne null jusqu’à ce que la table cloné soit ajoutée au modèle sémantique comme dans l’extrait de code ci-dessous afin que la référence ExpressionSource cloné puisse être résolue. Le clone doit être ajouté au modèle, car l’expression nommée référencée croisée est membre de la collection Expressions du modèle et ne fait pas partie de l’arborescence des objets enfants de la table.
Table tableClone = model.Tables[0].Clone();
anotherModel.Tables.Add(tableClone);
ADOMD
Depuis ADOMD (.NET Framework et .NET Core) version 19.61.1.4, la compression est entièrement disponible dans la couche de transport XMLA. Les versions précédentes après la version 19.55.3.1 ont implémenté une prise en charge partielle de la compression. Des rapports sur les problèmes liés à ces versions ont été reçus. Ces problèmes ont été résolus dans le cadre de la version 16.61.1.4. Veillez à effectuer une mise à niveau vers la version 19.61.1.4 ou ultérieure si vous rencontrez des problèmes liés à la compression.
MSOLAP
À compter de la version 16.0.139.27, MSOLAP prend en charge les profils de principal de service pour l’authentification, comme dans l’exemple de chaîne de connexion suivant. Pour plus d’informations, consultez Utiliser des profils de principal de service pour gérer les données client dans des applications mutualisées.
Data Source=powerbi://api.powerbi.com/v1.0/myorg/<WorkspaceName>;User ID=app:<service principal id>@<tenant id>;SPN Profile=<service-principal profile id>;Password=<service-principal's secret>
À compter de la version 16.0.134.22, MSOLAP prend en charge l'Sign-On authentification unique silencieuse (SSO) à l’aide du Gestionnaire de comptes web (WAM), disponible sur Windows 10 et versions ultérieures, ainsi que Windows Server 2019 et versions ultérieures. Lorsqu’une nouvelle connexion HTTP est ouverte, MSOLAP obtient un jeton d’accès comme suit :
- Si la mise en cache des jetons est activée et qu’un jeton approprié est disponible dans le cache, MSOLAP utilise le jeton mis en cache.
- Si un jeton mis en cache approprié n’est pas disponible, MSOLAP tente d’obtenir un jeton d’accès en mode silencieux via WAM.
- Si l’authentification unique utilisant WAM a échoué, MSOLAP revient à l’authentification interactive et affiche la fenêtre de connexion.
Les utilisateurs peuvent contourner le flux d’authentification unique silencieux et lancer immédiatement l’expérience d’authentification interactive en fournissant un ID d’utilisateur « vide » dans la chaîne de connexion (ID d’utilisateur=').
À compter de la version 16.0.43.20, MSOLAP utilise MSAL (Microsoft.Identity.Client) version 4.43.0 ou ultérieure au lieu d’ADAL pour authentifier les utilisateurs avec Microsoft Entra ID lors de l’établissement d’une connexion à des services cloud tels que Power-BI et Azure Analysis Services. Si votre application ou un autre composant dépend de MSAL, il peut être nécessaire de mettre à jour les paramètres de redirection de liaison de l’application s’il existe des conflits entre les versions de MSAL chargées par les composants
Une régression liée aux connexions à des systèmes cloud utilisant l’ID Microsoft Entra a été découverte dans la version 16.0.4.17 d’OLEDB (MSOLAP). Elle a été corrigée dans la version 16.0.20.201. En raison de la nature du problème, une version 16.0.4.17 installée, ainsi que toute autre version antérieure à la version 16.0.20.201, ne peut pas être corrigée en supgradant le fournisseur, même si l’installation est exécutée en mode réparation. Il est recommandé de désinstaller complètement la version 16.0.4.17 [ou une autre version problématique], puis d’installer la version 16.0.20.201 ou ultérieure.
Dans une version antérieure, MSOLAP a été mis à jour pour se connecter à Analysis Services basé sur le cloud à l’aide de la bibliothèque d’authentification Microsoft gérée (MSAL). À compter de la version 16.0.87.16, le programme d’installation MSOLAP n’installe plus le composant ADAL (Azure Active Directory Authentication Library) natif d’origine.
Présentation des bibliothèques clientes
Analysis Services utilise trois bibliothèques clientes. ADOMD.NET et Analysis Services Management Objects (AMO) sont des bibliothèques clientes gérées. Le fournisseur OLE DB Analysis Services (DLL MSOLAP) est une bibliothèque cliente native. En règle générale, les trois sont installés en même temps.
Les applications clientes Microsoft telles que Power BI Desktop et Excel installent les trois bibliothèques clientes et les mettent à jour lorsque de nouvelles versions sont disponibles. Selon la version ou la fréquence des mises à jour, certaines bibliothèques clientes peuvent ne pas être les dernières versions requises par Azure Analysis Services et Power BI. La même chose s’applique aux applications personnalisées ou à d’autres interfaces telles que AsCmd, TOM, ADOMD.NET. Ces applications nécessitent manuellement ou par programmation l’installation des bibliothèques. Les bibliothèques clientes pour l’installation manuelle sont incluses dans les packs de fonctionnalités SQL Server en tant que packages distribuables. Toutefois, ces bibliothèques clientes sont liées à la version de SQL Server et peuvent ne pas être les plus récentes. Veillez à toujours installer la dernière version téléchargeable à partir de cet article.
Types de bibliothèques clientes
Fournisseur OLE DB Analysis Services (MSOLAP)
Le fournisseur OLE DB Analysis Services (MSOLAP) est la bibliothèque cliente native pour les connexions de base de données Analysis Services. Elle est utilisée indirectement par ADOMD.NET et AMO, en déléguant les demandes de connexion au fournisseur de données. Vous pouvez également appeler le fournisseur OLE DB directement à partir du code d’application.
Le fournisseur OLE DB Analysis Services est installé automatiquement par la plupart des outils et applications clientes utilisés pour accéder aux bases de données Analysis Services. Elle doit être installée sur des ordinateurs utilisés pour accéder aux données Analysis Services.
Les fournisseurs OLE DB sont souvent spécifiés dans les chaînes de connexion. Une chaîne de connexion Analysis Services utilise une autre nomenclature pour faire référence au fournisseur OLE DB : MSOLAP.<version>.dll.
AMO
AMO est une bibliothèque de client managée utilisée pour l’administration du serveur et la définition de données. Il est installé et utilisé par les outils et les applications clientes. Par exemple, SQL Server Management Studio (SSMS) utilise AMO pour se connecter à Analysis Services. Une connexion utilisant AMO est généralement minimale, composée de "data source=\<servername>"
. Une fois qu’une connexion est établie, vous utilisez l’API pour utiliser des collections de bases de données et des objets principaux. Visual Studio et SSMS utilisent AMO pour se connecter à une instance Analysis Services.
ADOMD
ADOMD.NET est une bibliothèque de client de données managée utilisée pour interroger des données Analysis Services. Il est installé et utilisé par les outils et les applications clientes.
Lors de la connexion à une base de données, les propriétés de chaîne de connexion pour les trois bibliothèques sont similaires. Presque toutes les chaînes de connexion que vous définissez pour ADOMD.NET à l’aide de Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectionString fonctionne également pour AMO et le fournisseur OLE DB Analysis Services (MSOLAP). Pour plus d’informations, consultez propriétés de chaîne de connexion.
Vérifier les versions installées
OLEDDB (MSOLAP)
Accédez à
C:\Program Files\Microsoft Analysis Services\AS OLEDB\
. Si vous avez plusieurs dossiers, choisissez le nombre le plus élevé.Cliquez avec le bouton droit sur msolap.dll>Propriétés>Détails. Vérifiez la propriété version du produit
. Remarque : Si le nom de fichier est msolap140.dll, il est antérieur à la dernière version et doit être mis à niveau.
AMO
Accédez à
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices\
. Si vous avez plusieurs dossiers, choisissez le nombre le plus élevé.Cliquez avec le bouton droit sur Propriétés>Microsoft.AnalysisServices>Détails.
ADOMD
Accédez à
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\
. Si vous avez plusieurs dossiers, choisissez le nombre le plus élevé.Cliquez avec le bouton droit sur Microsoft.AnalysisServices.AdomdClient>Properties>Details.
Mettre à jour manuellement
Les bibliothèques clientes sont généralement installées et mises à jour automatiquement, ainsi que les outils et les applications clientes qui les utilisent. Toutefois, dans certains cas, les bibliothèques clientes peuvent ne pas être mises à jour automatiquement et chacune doit être mise à jour manuellement. Pour effectuer une mise à jour manuelle, téléchargez et exécutez le package Windows Installer (.msi) pour chaque bibliothèque cliente.
Pour télécharger et mettre à jour
Cliquer:
Dans Téléchargements, cliquez sur un package Windows Installer pour exécuter le programme d’installation.
Dans Le programme d’installation, cliquez sur suivant.
Lisez le contrat de licence. Si vous acceptez, sélectionnez j’accepte les termes du contrat de licence, puis cliquez sur Suivant.
Cliquez sur Installer.
Lorsque vous avez terminé, cliquez sur Terminer.