2014-01-07 54 views
4

我試圖通過SQL Server訪問Active Directory 2012年我的靈感來源是:創建的.NET Framework 2.0版裝配在SQL Server 2012中

http://blogs.msdn.com/b/ikovalenko/archive/2007/03/22/how-to-avoid-1000-rows-limitation-when-querying-active-directory-ad-from-sql-2005-with-using-custom-code.aspx

http://www.pawlowski.cz/2011/04/querying-active-directory-sql-server-clr/

它們都使用匯編到C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.DirectoryServices.dll。

當我嘗試使用此代碼來創建這個組件:

CREATE ASSEMBLY [System.DirectoryServices] 
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll' 
WITH PERMISSION_SET = UNSAFE 
GO 

那麼它失敗,此消息:

集System.DirectoryServices「無法安裝,因爲現有的政策將保持它被使用。

我試過使用該代碼V4.0創建裝配:

CREATE ASSEMBLY [System.DirectoryServices] 
AUTHORIZATION [dbo] 
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.DirectoryServices.dll' 
WITH PERMISSION_SET = UNSAFE 
GO 

,它是成功的。在此之後我嘗試使用此代碼改變這一新的裝配:

ALTER ASSEMBLY [System.DirectoryServices] 
FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll' 

和失敗此消息:

阿爾特集System.DirectoryServices,版本= 4.0.0.0,文化=中性,publickeytoken = b03f5f7f11d50a3a,processorarchitecture = msil'到'system.directoryservices,版本= 2.0.0.0,culture = neutral,publickeytoken = b03f5f7f11d50a3a,processorarchitecture = msil'不是兼容升級。

任何人都有一個想法如何在2.0版.NET Framework .dll上創建程序集?

回答

0

我有一個與SQL Server 2008類似的問題。我通過更改到Framework64的路徑解決了它。

ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE 
相關問題