Ceci est une ancienne révision du document !
Table des matières
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:
- Ajouter un répertoire Test Scripts dans le projet de base de données.
- Faire un clic-droit et faire Add → Script… et choisir Script (Not in Build).
- Éditer le script qui va exécuter le CLR (ex:
EXEC dbo.StoredProcQuiExecuteFonction
). - Dans SQL Server Object Explorer, ajouter le serveur auquel on veut se connecter.
- Faire un clic-droit sur le serveur ajouté et sélectionner Application Debugging et Allow SQL/CLR Debugging.