只有累積,沒有奇蹟

2019年11月29日 星期五

[NET] Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option.

問題 
最近運氣很旺在開發專案時常遇到詭異的案例,前幾天在家裡趕專案時在使用 Visual Studio 2019 開發專案要啟動連接到 Database 時跳出 'Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option.'  第一次遇到這問題覺得挺有趣的,雖然解決方法很簡單但還是簡單紀錄一下處理的過程若是有不清楚或是錯誤的地方歡迎討論予糾正

異常現場
異常發生時跳出訊息內容如下
相信對 .NET Framework 有點熟系的都知道 / 聽過 CLR,在微軟 MSDN 與 wiki 分別都有針對 CLR 作為介紹與說明,在此引用 wiki 對 CLR 的定義如下 (相較之下微軟的說明太技術了些)
通用語言執行平台(Common Language Runtime,簡稱CLR)是微軟為他們的.NET的虛擬機器所選用的名稱。它是微軟對通用語言架構(CLI)的實作版本,它定義了一個程式碼執行的環境。CLR執行一種稱為通用中間語言的位元組碼,這個是微軟的通用中間語言實作版本。
SQL Server 2005 開始提供 CLR integration 功能,我們可以透過下列指令取得目前 clr enable 的狀 
EXEC sp_configure 'clr enabled' 
查詢後可以看到目前系統中 clr enable 的設定
欄位說明如下

  • name : 設定的名稱
  • minimum : 設定的最小值
  • maximum : 設定的最大值
  • config_value : 配置設定的值
  • run_value : 當前設定值


  • 解決方案
    輸入以下指定,開啟 clr enable 
    EXEC sp_configure 'clr enabled', 1
    RECONFIGURE 
    更新後即可重新查詢更新後的值,即可發現更新成功


    大功告成,宣告結案  :)

    參考
    ASP.NET Core 中的 Kestrel 網頁伺服器實作
    SQL Error – Execution of user code in the .NET Framework is disabled. Enable “clr enabled” configuration option
    How to Enable SQL Server CLR Integration using T-SQL

    Copyright © m@rcus 學習筆記 | Powered by Blogger

    Design by Anders Noren | Blogger Theme by NewBloggerThemes.com