c# error

时间:2024-01-12 18:29:20

部署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