错误: Access to the ADO.net Managed Provider 'SqlClientFactory' was denied
错误信息:
Access to the ADO.net Managed Provider 'SqlClientFactory' was denied in the data source with ID 'SqlCategoryName' because of security settings.
解决方法:
- 在WebConfig中添加:<trust level = "Full" originUrl = ""/>
- F5刷新
解释:
.NET Frameworks实现了一种称作CAS(Code Access Security)的信任机制,它可以控制你所编写的应用程序对系统资源的访问限制。利用CAS机制,可以让你所编写的代码具有更好的安全性,例如,你可以限制通过网页运行的程序无法访问你的文件系统或者访问其他internet资源。信任级别由高到低分别可设置为:Full、High、Medium、Low、Minimal。
Web Config中的trust节点可以设置Web应用程序或者Web Service的信任级别。ASP.NET2.0在默认情况下,任何Web应用程序或者Web Service都是使用”Full”信任级别并结合主机的系统的安全设置来访问主机资源的。出现以上问题的原因和可能是你机器一级的配置文件将访问级别设得较低,低于了访问SQL Server应具有的信任级别,你可以检查一下你的machine config 文件。