J'essaie d'accéder à Active Directory via SQL Server 2012. Mes sources d'inspiration sont:
http://blogs.msdn.com/b/ikovalenko/archive/2007/03/22/how-to-avoid-1000-rows-limitation-querying-active-directory-ad-from-sql-2005- avec-using-custom-code.aspx
et
http://www.pawlowski.cz/2011/04/querying-active-directory-sql-server-clr/
Les deux utilisent assembly à C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.DirectoryServices.dll.
Lorsque j'essaye de créer cet assembly en utilisant ce code:
CREATE ASSEMBLY [System.DirectoryServices] FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE GO
alors il échoue avec ce message:
Assembly 'System.DirectoryServices' n'a pas pu être installé car la stratégie existante empêcherait son utilisation.
J'ai essayé de créer l'assemblage sur v4.0 en utilisant ce code:
CREATE ASSEMBLY [System.DirectoryServices] AUTHORIZATION [dbo] FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE GO
et c'était réussi. Après cela, j'ai essayé de modifier ce nouvel assemblage en utilisant ce code:
ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
et il échoue avec ce message:
Modifier l'assembly à partir de 'system.directoryservices, version = 4.0.0.0, culture = neutre, publickeytoken = b03f5f7f11d50a3a, processorarchitecture = msil' à 'system.directoryservices, version = 2.0.0.0, culture = neutre, publickeytoken = b03f5f7f11d50a3a, processorarchitecture = msil' n'est pas une mise à jour compatible.
Quelqu'un a une idée comment créer un assembly sur .NET Framework .dll dans la version 2.0?
J'ai eu un problème similaire avec SQL Server 2008. Je l'ai résolu en changeant le path d'access à Framework64.
ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE