The*_*dge 8 c# sql-server asp.net iis webforms
我正在使用Quartz.NET进行一些后台处理,最终我连接到我的SQL Server.这一切都在我的开发机器上针对IIS Express本地工作,但是当我将它部署到运行IIS的登台服务器时,我遇到了问题.
连接到数据库的代码不是更简单:
myConnection = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=MyDB;User ID=sa;Password=myPass");
Run Code Online (Sandbox Code Playgroud)
但是这引发了一个例外:
System.Data.SqlClient.SqlException:用户'IIS APPPOOL\somehost.somedomain.com'登录失败.
我100%确信连接字符串是正确的,因为在普通页面中使用它可以正常工作.所以扔我的是对IIS APPPOOL的引用.
SqlConnection是否以某种方式不使用它传递的连接字符串?在建立连接时做某种形式的奇怪的用户模仿?
换一种方式.当我知道连接字符串是正确的时候,如何使线程内的SqlConnection()工作?
尝试打开与 SQL Server 的连接似乎失败。
您需要添加 SQL Server 登录名IIS APPPOOL\ASP.NET v4.0并授予数据库权限。
在 SSMS 中的服务器下,展开安全性,然后右键单击登录并选择“新登录...”。
在“新建登录”对话框中,输入应用程序池作为登录名,然后单击“确定”
然后,您可以右键单击应用程序池的登录名,选择“属性”,然后选择“用户映射”。检查适当的数据库和适当的角色。我认为您可以只选择db_datareader和db_datawriter,但我认为如果您通过 EF 执行此操作,您仍然需要授予执行存储过程的权限。您可以在此处查看角色的详细信息
参考资料:杰夫·绪方 ( jeff-ogata)
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |