首页 > 解决方案 > c#.net 连接字符串适用于集成安全性,但在指定用户名和密码时不起作用

问题描述

我是 sqlserver 的新手,我有一个连接字符串如下:

< add name="test" connectionString="server=dbServer\SQLEXPRESS;database=test;integrated security=SSPI;" />

并且该站点连接并且工作正常。

我在 SSMS 17.4 中创建了一个用户,并为其命名

< add name="test" connectionString="server=dbServer\SQLEXPRESS;database=test;User Id=dbUser; Password=letmein;" />

该网站无法显示“用户 'dbUser' 登录失败”

用户有以下内容:

服务器角色:public、dbcreator

用户映射:默认架构:dbo
数据库角色成员身份:db_owner、public

知道为什么在使用用户名/密码时会失败吗?

谢谢

标签: c#sql-serverlogin

解决方案


可能的原因包括:

1) SQL 实例未配置为允许 SQL 身份验证

2) 登录名和/或密码错误

3)登录没有访问他们的默认数据库

检查 SQL Server 错误日志,因为它将包含有关登录失败原因的更详细信息。出于安全原因,这些不会退还给客户。可以从 SSMS(管理-->SQL Server 日志)或通过文本编辑器查看错误日志。当前日志文件名为“errorlog”(无扩展名),默认位于安装文件夹Log子目录下。


推荐阅读