Outils pour utilisateurs

Outils du site


bases_de_donnees:sqlserver:clr

Ceci est une ancienne révision du document !


Le CLR sur SQL Server 2014

Pour activer le CLR:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

Pour activer l'intégration du CLR, vous devez disposer de l'autorisation de niveau serveur ALTER SETTINGS qui est attribuée uniquement aux membres des rôles serveur fixes sysadmin et serveradmin.

Opérations sur les Assembly

CREATE

On insère une fonction CLR dans la base de données en faisant CREATE ASSEMBLY <nom de l'assembly> FROM <fichier librairie>. Le fichier de l'assembly est la librairie résultante de la compilation du code. Ensuite, on doit créer une fonction stockée qui appelle la fonction CLR.

On peut créer un assembly dans la base de données de cette façon:

CREATE ASSEMBLY CLRFunctions FROM 'C:\SQLServerCLRSortString.dll'  
GO 
 
CREATE FUNCTION dbo.SortString (    
    @name AS NVARCHAR(255)    
)     
RETURNS NVARCHAR(255)    
AS EXTERNAL NAME CLRFunctions.CLRFunctions.SortString 
GO

DROP

DROP ASSEMBLY <assembly name>

Il peut y avoir des dépendances sur les assemblies. Il suffit d'aller dans SSMS et aller dans Programmabilité sous la base de données. On fait un clic-droit sur l'assembly qui nous intéresse et choisir Afficher les dépendances.

Débogguer le CLR

Ayant un projet SQL Database dans la solution de Visual Studio:

  1. Ajouter un répertoire Test Scripts dans le projet de base de données.
  2. Faire un clic-droit et faire AddScript… et choisir Script (Not in Build).
  3. Éditer le script qui va exécuter le CLR (ex: EXEC dbo.StoredProcQuiExecuteFonction).
  4. Dans SQL Server Object Explorer, ajouter le serveur auquel on veut se connecter.
  5. Faire un clic-droit sur le serveur ajouté et sélectionner Application Debugging et Allow SQL/CLR Debugging.

Sources

bases_de_donnees/sqlserver/clr.1473861829.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)