Bibliothèques .NET Framework prises en charge

 

Avec le CLR (Common Language Runtime) hébergé dans SQL Server, vous pouvez créer des procédures stockées, des déclencheurs, des fonctions définies par l'utilisateur, des types définis par l'utilisateur et des agrégats définis par l'utilisateur en code managé. Avec les fonctionnalités présentes dans les bibliothèques de classes .NET Framework, vous avez accès à des classes prégénérées qui fournissent des fonctionnalités pour la manipulation de chaînes, des opérations de mathématique avancées, l'accès au fichier, le chiffrement, etc. Ces classes sont accessibles à partir de procédures stockées managées, de types définis par l'utilisateur, de déclencheurs, de fonctions définies par l'utilisateur ou d'agrégats définis par l'utilisateur, quels qu'ils soient.

System_CAPS_ICON_note.jpg Remarque


Si vous effectuez la maintenance ou mettez à niveau des assemblys non pris en charge dans le Global Assembly Cache (GAC), votre application SQL Server peut cesser de fonctionner. Cela est dû au fait que la maintenance ou la mise à niveau de bibliothèques dans le GAC ne met pas à jour ces assemblys dans SQL Server. S'il existe un assembly dans une base de données SQL Server et dans le GAC, les deux copies de l'assembly doivent être exactement les mêmes. Si ce n'est pas le cas, une erreur se produit lorsque l'assembly est utilisé par l'intégration du CLR SQL Server. Si le service ou de la mise à niveau de tous les assemblys dans le GAC qui sont également enregistrés dans la base de données, y compris les assemblys .NET Framework non pris en charge, assurez-vous également de service ou de mise à niveau de la copie de l’assembly dans votre SQL Server des bases de données avec le ALTER ASSEMBLY instruction. Pour plus d’informations, consultez Base de connaissances l’article 949080 de la.

À compter de SQL Server 2005, SQL Server prend en charge une liste de bibliothèques .NET Framework qui ont été testées pour vérifier qu'elles répondent aux normes de fiabilité et de sécurité en matière d'interaction avec SQL Server. Vous n'avez pas besoin d'inscrire explicitement les bibliothèques prises en charge sur le serveur avant de pouvoir les utiliser dans votre code ; SQL Server les charge directement à partir du Global Assembly Cache (GAC).

Les bibliothèques/espaces de noms pris en charge par l'intégration du CLR dans SQL Server sont les suivants :

  • CustomMarshalers

  • Microsoft.VisualBasic

  • Microsoft.VisualC

  • mscorlib

  • Système

  • System.Configuration

  • System.Data

  • System.Data.OracleClient

  • System.Data.SqlXml

  • System.Deployment

  • System.Security

  • System.Transactions

  • System.Web.Services

  • System.Xml

  • System.Core.dll

  • System.Xml.Linq.dll

Il est toujours possible d'appeler des bibliothèques non prises en charge à partir de vos procédures stockées managées, déclencheurs, fonctions définies par l'utilisateur, types définis par l'utilisateur et agrégats définis par l'utilisateur. La bibliothèque non pris en charge doit être enregistrée dans le SQL Server de base de données, à l’aide de la CREATE ASSEMBLY instruction, avant de pouvoir être utilisé dans votre code. Toute bibliothèque non prise en charge qui est inscrite et exécutée sur le serveur doit être examinée et testée en termes de sécurité et de fiabilité.

Par exemple, le System.DirectoryServices espace de noms n’est pas pris en charge. Vous devez inscrire l’assembly System.DirectoryServices.dll avec UNSAFE autorisations avant que vous pouvez l’appeler à partir de votre code. Le UNSAFE autorisation est nécessaire car des classes dans le System.DirectoryServices espace de noms ne répondent pas à la configuration requise pour SAFE ou EXTERNAL_ACCESS. Pour plus d’informations, consultez Restrictions du modèle de programmation CLR Integration et sécurité d’accès du Code CLR Integration.

Création d’un Assembly
Sécurité d’accès du Code CLR Integration
Restrictions du modèle de programmation CLR Integration

Ajouts de la communauté

Afficher: