首页 > 代码库 > c# error

c# error

部署iis c# 连sqlserver

用IIS发布之后,网页出错。提示为:
异常详细信息: System.Data.SqlClient.SqlException: 用户 ‘NT AUTHORITY\IUSR‘ 登录失败

这个问题其实很简单,你的 SQL 连接字符串是 Windows 身份验证模式,改成 SQL 身份验证模式就可以了(“Data Source=...;Initial Catalog=...;User ID=...;Password=...”)。

错误原因的简述:
你在 VS 运行以及调试的时候,你的身份是 Administrators 组,因此连接 SQL Server 没有问题(默认情况下 MSSQL 允许 Administrators 组用户访问,而且为 SA 权限),而你发布到 IIS 后,出于安全考虑 IIS 可不是以“Administrators”组运行了,是以“IUSR_XXX”开始的账号运行,该账号 MSSQL 不认可,因此发生错误。
注1:IUSR_XXX 的 XXX 通常为机器名称,每台机子可能都不一样。
注2:报错所提及的用户“IUSR”,实际是指 IUSR_XXXXX 用户。
解决方法:
1)更改连接字符串为 SQL Server 身份验证方式(强烈推荐)
2)配置 IIS 站点,在“安全”设置里面设置以 Administrator 账号运行(不推荐)
3)配置 SQL Server 为 IUSR_XXX 授权登录,并允许访问数据库

我现在用的本地数据库 windows认证方式 连接字符串:Data Source=(local);Initial Catalog=zpractice;Integrated Security=SSPI

c# error