SQLCLR 使用錯誤版本的 .NET Framework
在最近重新啟動我們的開發伺服器期間,
SQL Server開始使用.NET 4.0SQLCLR。這意味著在 SQL 中使用 CLR 沒有任何效果,或者至少這是我通過閱讀這些來源的理解:<http://software.intel.com/en-us/blogs/2009/10/16/sql-server-2008-sqlclr-net-framework-version/>
www.sqlskills.com/BLOGS/BOBB/post/On-SQL-Server-and-NET-40.aspx
我們得到的只是這種類型的錯誤消息:
消息 6517,級別 16,狀態 1,第 1 行無法創建 AppDomain“xxx.dbo[ddl].3”。方法的類型簽名與互操作不兼容。
執行語句(由@john-christensen 建議)
select * from sys.dm_clr_properties產生以下資訊:
*Name* *Value* directory C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ version v4.0.30319 state CLR is initialized有誰知道如何解決這個問題,或者我們如何強制 SQL Server CLR 使用較早版本的框架?
supportedRuntime通常,您可以通過在應用程序的配置文件中指定標記來強制 .NET 應用程序使用特定的 .NET Framework 版本。因此,您可以嘗試在 SQL 實例的根路徑下的文件夾中創建一個
sqlservr.exe.config,並\Binn在此處指定您希望僅使用 .NET 最高 3.5 的版本。檢查此 MSDN 連結以了解配置文件的結構。
我遇到了同樣煩人的問題。我的數據庫中的地理/幾何資料都不起作用。花了我一些不成功的 SQL 伺服器重新安裝最終(幾週後!)發現我的系統資料庫中的以下鍵已設置為“1”
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\OnlyUseLatestCLR
當我將其重置為“0”並重新啟動機器時,一切又恢復了!
他的