Établissement de connexions dans ADOMD.NET
Dans ADOMD.NET, vous devez utiliser l'objet AdomdConnection pour ouvrir des connexions avec des sources de données analytiques, telles que des bases de données MicrosoftSQL ServerAnalysis Services. Lorsque vous n'avez plus besoin de la connexion, vous devez la fermer explicitement.
Ouverture d'une connexion
Pour ouvrir une connexion dans ADOMD.NET, vous devez d'abord spécifier une chaîne de connexion à une source de données analytiques et à une base de données valides. Vous devez ensuite ouvrir explicitement la connexion à cette source de données.
Spécification d'une source de données multidimensionnelles
Pour spécifier une source de données analytiques et une base de données, vous devez définir la propriété ConnectionString de l'objet AdomdConnection. La chaîne de connexion spécifiée pour la propriété ConnectionString est une chaîne compatible OLE DB. ADOMD.NET utilise la chaîne de connexion spécifiée pour déterminer le mode de connexion au serveur.
La propriété ConnectionString peut être définie sur un objet AdomdConnection existant ou lors de la création d'une instance d'un objet AdomdConnection. Le code suivant montre comment définir la propriété ConnectionString lorsque vous créez un objet [:Microsoft.AnalysisServices.AdomdClient.AdomdConnection] :
Dim advwrksConnection As New AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS")
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString)
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS");
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString);
Ouverture d'une connexion à la source de données
Après avoir spécifié la chaîne de connexion, vous devez utiliser la méthode Open pour ouvrir la connexion. Lorsque vous ouvrez un objet AdomdConnection, vous pouvez définir différents niveaux de sécurité pour la connexion. Le niveau de sécurité utilisé pour la connexion dépend de la valeur du paramètre de chaîne de connexion ProtectionLevel. Pour plus d'informations sur l'ouverture de connexions sécurisées dans ADOMD.NET, consultez Établissement de connexions sécurisées dans ADOMD.NET.
Utilisation d'une connexion
Chaque connexion ouverte existe dans le cadre d'une session, qui fournit une prise en charge des opérations avec état. Une session peut être partagée par plusieurs connexions ouvertes. Le partage d'une session permet à plusieurs clients de partager un même contexte. Pour plus d'informations, consultez Utilisation de connexions et de sessions dans ADOMD.NET.
Vous pouvez utiliser une connexion ouverte pour récupérer des métadonnées et des données et exécuter des commandes. Pour plus d'informations, consultez Récupération de métadonnées à partir d'une source de données analytiques, Récupération de données à partir d'une source de données analytiques et Exécution de commandes sur une source de données analytiques.
Lorsque la connexion est ouverte, vous pouvez récupérer des données, extraire des métadonnées et exécuter des commandes à partir d'une transaction validée en lecture, dans laquelle les verrous partagés sont maintenus pendant la lecture des données afin d'éviter des lectures erronées. Les données peuvent toujours être modifiées avant la fin de la transaction, ce qui provoque des lectures non renouvelables ou des données fantômes. Pour plus d'informations, consultez Exécution de transactions dans ADOMD.NET.
Fermeture d'une connexion
Nous vous recommandons de fermer explicitement un objet AdomdConnection dès lors que vous n'avez plus besoin de la connexion. Pour fermer explicitement la connexion, vous devez utiliser les méthodes Close et Dispose de l'objet AdomdConnection.
Une connexion qui n'est pas explicitement fermée mais qui est autorisée à se situer hors de portée risque de ne pas diffuser assez rapidement les ressources du serveur pour permettre à des applications clientes Analysis Services soumises à une forte concurrence d'accès d'ouvrir efficacement de nouvelles connexions. Selon la façon dont vous avez créé la connexion, la session utilisée par l'objet AdomdConnection peut rester active si la connexion n'est pas fermée explicitement.
Pour plus d'informations sur les sessions, consultez Utilisation de connexions et de sessions dans ADOMD.NET.
Important
Dans la méthode Finalize d'une classe implémentée, évitez d'appeler les méthodes Close ou Dispose d'un objet AdomdConnection, AdomdDataReader ou de tout autre objet managé. Dans un finaliseur, veillez à ne diffuser que des ressources non managées qui sont directement détenues par la classe implémentée. Si la classe implémentée n'est pas propriétaire de certaines ressources non managées, évitez d'inclure une méthode Finalize dans la définition de cette classe.