Accès aux données à partir d'objets de base de données CLR

S’applique à :SQL Server

Une routine CLR (Common Language Runtime) peut facilement accéder aux données stockées dans la instance de Microsoft SQL Server dans laquelle elle s’exécute, ainsi qu’aux données stockées dans des instances distantes. Les données particulières auxquelles la routine peut accéder sont déterminées par le contexte utilisateur dans lequel le code s'exécute. Accédez aux données à partir d’un objet de base de données CLR à l’aide du fournisseur de données .NET Framework pour SQL Server, également appelé SqlClient. Il s’agit du même fournisseur que celui utilisé par les développeurs qui accèdent aux données SQL Server à partir d’applications clientes et intermédiaires managées. Pour cette raison, vous pouvez tirer parti de vos connaissances de ADO.NET et sqlClient dans les applications clientes et intermédiaires.

Notes

Les méthodes de type défini par l'utilisateur et les fonctions définies par l'utilisateur ne sont pas autorisées à effectuer un accès aux données par défaut. Vous devez définir la propriété DataAccess de SqlMethodAttribute ou SqlFunctionAttribute sur DataAccessKind.Read pour activer l’accès aux données en lecture seule à partir de méthodes de type défini par l’utilisateur (UDT) ou de fonctions définies par l’utilisateur. Les opérations de modification des données ne sont pas autorisées à partir des types définis par l'utilisateur ou des fonctions définies par l'utilisateur ; par ailleurs, elles lèvent des exceptions au moment de l'exécution, à la moindre tentative.

Cette section décrit uniquement les différences spécifiques en matière de fonctionnement et de comportement lors de l'accès aux données à partir d'un objet de base de données CLR. Pour plus d'informations sur les fonctionnalités d'ADO.NET, consultez la documentation ADO.NET incluse dans le Kit de développement logiciel .NET Framework (SDK).

Le tableau suivant décrit les rubriques de cette section.

Connexion contextuelle
Décrit la connexion contextuelle à SQL Server.

Emprunt d'identité et informations d'identification pour les connexions
Décrit l'emprunt d'identité et les informations d'identification des connexions.

Extensions spécifiques in-process de SQL Server à ADO.NET
Décrit les objets SqlPipe, SqlContext, SqlTriggerContext et SqlDataRecord spécifiques au processus.

Intégration et transactions du CLR
Décrit comment la nouvelle infrastructure de transactions fournie dans l’espace de noms System.Transactions s’intègre à ADO.NET et SQL Server intégration CLR.

Sérialisation XML à partir d'objets de base de données CLR
Explique comment activer des scénarios de sérialisation XML d’objets de base de données CLR dans SQL Server.