Belirttiğiniz gibi, System.Web
desteklenmeyen bir kütüphane. Referans System.Web
olması için bir arama yapmanız gerekir CREATE ASSEMBLY
. Bunu denediniz gibi görünüyor, ama konumuna nasıl başvurdunuz System.Web.dll
? Farklı bir konuma kopyaladınız / yapıştırdınız mı? SQL Server, bağımlı derlemeleri aynı konumda bulmaya çalışacaktır. Başka bir deyişle, System.Web.dll
aynı dizinde yaşayan tüm bağımlı kitaplıkların konumlarına başvurursanız, düzgün çalışmalıdır. İşte çalışan bir örnek. Hem System.Web
montajı hem de montajınızı ekledim:
create assembly [System.Web]
from 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Web.dll'
with permission_set = unsafe;
go
create assembly SystemWebTest
from 'c:\SqlServer\SystemWebTest.dll'
with permission_set = safe;
go
İstemci iletilerinden SQL Server'ın yüklediği tüm diğer derlemeleri görebilirsiniz. Ancak unutmayın, SQL Server bunların her biri için aşağıdaki uyarıyı görüntüler:
Kayıt yaptıysanız SQL Server tarafından barındırılan ortamda tam olarak test edilmemiştir ve desteklenmemektedir. Gelecekte, bu derlemeyi veya .NET Framework'ü yükseltir veya hizmet verirseniz, CLR tümleştirme yordamınız çalışmayabilir. Daha fazla bilgi için lütfen SQL Server Books Online'a bakın.
Benzer şekilde, ancak ekleyerek System.Web
, eklenen aşağıdaki derlemelere bir göz atın:
select
name,
permission_set_desc,
is_visible
from sys.assemblies
where is_user_defined = 1
order by is_visible desc;
name permission_set_desc is_visible
System.Web UNSAFE_ACCESS 1
SystemWebTest SAFE_ACCESS 1
Microsoft.Build.Framework UNSAFE_ACCESS 0
System.Xaml UNSAFE_ACCESS 0
System.ComponentModel.DataAnnotations UNSAFE_ACCESS 0
System.Runtime.Caching UNSAFE_ACCESS 0
System.Web.ApplicationServices UNSAFE_ACCESS 0
System.Drawing UNSAFE_ACCESS 0
Microsoft.Build.Utilities.v4.0 UNSAFE_ACCESS 0
System.DirectoryServices UNSAFE_ACCESS 0
System.DirectoryServices.Protocols UNSAFE_ACCESS 0
System.EnterpriseServices UNSAFE_ACCESS 0
System.Runtime.Remoting UNSAFE_ACCESS 0
System.Runtime.Serialization.Formatters.Soap UNSAFE_ACCESS 0
System.Design UNSAFE_ACCESS 0
System.Windows.Forms UNSAFE_ACCESS 0
Accessibility UNSAFE_ACCESS 0
System.Drawing.Design UNSAFE_ACCESS 0
System.Web.RegularExpressions UNSAFE_ACCESS 0
Microsoft.Build.Tasks.v4.0 UNSAFE_ACCESS 0
System.ServiceProcess UNSAFE_ACCESS 0
System.Configuration.Install UNSAFE_ACCESS 0
System.Runtime.Serialization UNSAFE_ACCESS 0
System.ServiceModel.Internals UNSAFE_ACCESS 0
SMDiagnostics UNSAFE_ACCESS 0
Burada gerçekten neler olduğuna dikkat etmek önemlidir ve diğer ek meclislerin T-SQL giriş noktaları için yolları olmasa da, şimdi bir bağımlılıktır. Gerçekten başvurmanız gerekip gerekmediğiniSystem.Web
veya istediğinizi gerçekleştirmek için başka bir yol olup olmadığını görmek için seçenekleri tartarım .