我正在尝试让ASP NET App访问数据库(这些只是测试而不是生产)。
这是我第一次在这个网络中试用它,我还没有用VS2012,SQL Server 2012 Express,Windows 7做过
我做了什么:
但我仍然收到一条错误消息,指出用户IIS APPPOOL \ DefaultAppPool 登录失败,如果我将DefaultAppPool标识更改为NetworkService,则错误更改为用户NT AUTHORITY登录失败\ Servicio de red
我不知道还能做什么。请在这里需要帮助。
圣拉斐尔
答案 0 :(得分:8)
应用程序池 - >应用程序中使用的应用程序池 - >点击它,然后点击“提前设置”#39;在小组中。找到身份'属性并将其更改为localsystem。
答案 1 :(得分:4)
在IIS管理器中将DefaultAppPool标识设置为NetworkService。虽然它有效,但您应该尝试使其与AppPoolIdentity一起使用,因为Windows 7试图使其更安全
答案 2 :(得分:2)
您可以从IIS7更改ApplicationPoolIdentity - >应用程序池 - >高级设置。
在 ApplicationPoolIdentity 下,您会找到本地系统。这将使您的应用程序在NT AUTHORITY\SYSTEM
下运行,这是默认情况下数据库的现有登录。
了解更多信息请看这个链接: https://stackoverflow.com/a/8853386/1676736
答案 3 :(得分:1)
更改连接字符串。
例如:
//< add name="CS" connectionString="server=.;database=JackDB;user id=sa;password=ya;">
这解决了错误。
答案 4 :(得分:1)
所有其他答案都不适用于我.....
我需要做的是进入应用程序池,右键单击我的网站,进入高级设置并按身份(而不是默认的内置帐户应用程序池身份)进行身份验证,我需要设置一个自定义帐户并输入用户名和托管公司给我的密码。
答案 5 :(得分:1)
当我们尝试通过api登录方法获取网址时 (“ http://api.xyz.com/v1/login”,我们已在其中注册 “ C:\ Windows \ System32 \ drivers \ etc \ hosts ”文件,并托管在IIS上。然后,我们收到错误用户IIS APPPOOL \ DefaultAppPool登录失败。无法打开数据库”,但是在数据库上运行以下查询后,问题得以解决。
IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
CREATE LOGIN [IIS APPPOOL\DefaultAppPool]
FROM WINDOWS WITH DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [WebDatabaseUser]
FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'WebDatabaseUser'
答案 6 :(得分:0)
就我而言,我必须从{<1}}改变:
connectionString
到:
<add name="DatabaseName" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=HrAndPayroll;Integrated Security=True" providerName="System.Data.SqlClient" />
在我部署项目后,我的<add name="DatabaseName" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Initial Catalog=HrAndPayroll;Integrated Security=True" providerName="System.Data.SqlClient" />
被修改,因此删除了connectionString
,因此我必须在AttachDbFilename=|DataDirectory|\Database.mdf
中明确地提供我的数据库链接。