我使用dbml作为我的数据访问层来提供我的应用程序所需的数据。 当我从服务器资源管理器连接时,一切似乎都很好。我选择使用我的Windows身份验证,连接测试显示一切正常。当我构建我的解决方案并在我的IIS上运行它时,它说我正在使用无效的登录。 如何解决这个问题?
答案 0 :(得分:2)
网站将使用网站应用程序池的标识登录SQL Server,您必须授予该用户(通常是网络服务)对数据库的访问权。
答案 1 :(得分:1)
当您尝试从server-explorer连接并选择 Windows身份验证时,它使用当前登录的用户对sql-server进行身份验证。您必须以本地系统管理员的身份登录,以便您可以使用Windows身份验证。
但是当您通过 IIS 运行应用程序并尝试使用 Windows身份验证进行身份验证时,它会使用本地系统 aspnet_user 帐户来验证哪个必须无权访问您的数据库。您需要授权aspnet_user访问您的数据库,它才能正常工作。
建议的做法是不要 使用Windows进行身份验证 身份验证但要使用sql server 认证将适用于每个环境。
答案 2 :(得分:0)
您是否在web.config中定义了相应的连接字符串?