Bonjour,
J'ai developpé une solution qui permet d'injecter du code dotnet directement dans les requettes sql. ce qui permet d'utiliser tous le framworks dotnet à la volé dans le sql de management studio.
un exemple de ma fonction qui s'execute aujourd'hui :
Execute1 vas executer le code dotnet et retourner le resultat, bien sur tout peut etre possible (Travail sur les chaines, sur les numeric, créé des class et les instancier, ...) et il es possible de le mettre dans un select (la fonction s'executera sur chaque ligne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Select dbo.Execute1(' var p1 = decimal.Parse(@p1.ToString()); return 15 + Math.Abs(p1); ',5)
Afin de pouvoir deployer facilement cela sur mes serveurs sql il me faudrait la possibilité depuis un dll dotnet instancier dans sql server, de retrouver un dossier accessible en lecture/ecriture par le processus sql server (bien sur lors de l'enregistrement de ma dll j'ai mis unsafe) et ou je peu executer un exe en ligne de commande.
code d'integration de ma dll.
Merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE ASSEMBLY SqlFX from 'D:\SqlServerFX.dll' WITH PERMISSION_SET = UNSAFE /*SAFE | EXTERNAL_ACCESS | UNSAFE */ Go CREATE FUNCTION [dbo].Execute1(@Algo sql_variant, @p1 sql_variant) RETURNS sql_variant WITH EXECUTE AS CALLER AS EXTERNAL NAME [SqlFX].[SqlServerFX.FX].Execute1 go
Partager