最近運氣很旺在開發專案時常遇到詭異的案例,前幾天在家裡趕專案時在使用 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 的設定
欄位說明如下
解決方案
輸入以下指定,開啟 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
0 意見:
張貼留言