SQL 服务器创建程序集

SQL Server CREATE ASSEMBLY

我使用命令:

CREATE ASSEMBLY [xxxx] from 'my dll path ' 
WITH PERMISSION_SET = UNSAFE;

但是我得到一个错误:

system.web, version=4.0.0.0 not found

为什么我需要 .net 框架 dll?没看懂。

sql 服务器已安装 .net 框架。

SQL 服务器的内部 CLR 主机(即 SQLCLR)是一个高度受限的环境。它不像使用 OS 的 CLR 主机(即控制台应用程序和 Windows / 桌面应用程序,这是大多数程序员所习惯的),并且更接近于在有共享资源,对诸如 UI 功能之类的东西毫无用处。 SQL 服务器的 CLR 中包含一个简短的库列表:Supported .NET Framework Libraries. Other .NET Framework libraries, such as System.Web, would need to be loaded manually, if they can be loaded at all. It is generally best to avoid such things as you can easily get into trouble when doing so. For more information on working with SQLCLR in general, please see the series of articles I am writing on this topic on SQL Server Central (free registration is required to read content on that site): Stairway to SQLCLR

在你的情况下,如果你需要连接到网页或网络服务,你最好使用 HttpWebRequestHttpWebResponse,因为它们包含在支持的库中并且只需要 EXTERNAL_ACCESS 而不是 UNSAFE.