SqlException:使用 LocalSystem 作为标识时对象名称 dbo.<tablename> 无效
SqlException: Invalid object name dbo.<tablename> when using LocalSystem as Identity
我在我的本地 IIS (7.0) 上部署了一个 asp.net web api,但我无法访问数据库。
当标识(在进程模型下)设置为 LocalSystem
时,API 将 return 此异常:
Invalid object name 'dbo.tablename'
如果我将标识设置为 ApplicationPoolIdentity
,API 将 return 此异常:
Cannot open database "dbname" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.
尝试过的解决方案:
Login failed for user 'IIS APPPOOL\ASP.NET v4.0'
已将对文件夹和 .mdf 文件的权限添加到 'ASP.NET v4.0'
其他相关信息:
连接字符串(在 web.config
中)
<add name="DbContext"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=[dbname];Trusted_Connection=Yes;"
providerName="System.Data.SqlClient" />
我还尝试了 运行 使用 Visual Studio 使用 IIS Express 的应用程序,它工作正常。
它说你基本上有 3 个选项,
- 运行 IIS 作为您的 ID(坏主意),
- 运行 localdb 作为共享实例,或者
- 使用SQL快递
后者可能是最好的建议。
我在我的本地 IIS (7.0) 上部署了一个 asp.net web api,但我无法访问数据库。
当标识(在进程模型下)设置为 LocalSystem
时,API 将 return 此异常:
Invalid object name 'dbo.tablename'
如果我将标识设置为 ApplicationPoolIdentity
,API 将 return 此异常:
Cannot open database "dbname" requested by the login. The login failed. Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.
尝试过的解决方案:
Login failed for user 'IIS APPPOOL\ASP.NET v4.0'
已将对文件夹和 .mdf 文件的权限添加到 'ASP.NET v4.0'
其他相关信息:
连接字符串(在 web.config
中)
<add name="DbContext"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=[dbname];Trusted_Connection=Yes;"
providerName="System.Data.SqlClient" />
我还尝试了 运行 使用 Visual Studio 使用 IIS Express 的应用程序,它工作正常。
它说你基本上有 3 个选项,
- 运行 IIS 作为您的 ID(坏主意),
- 运行 localdb 作为共享实例,或者
- 使用SQL快递
后者可能是最好的建议。