首页 > 解决方案 > SqlServer2012-错误 40-无法在 SQL Server 中打开连接

问题描述

我知道这是一个已回答的问题,但是我已经尝试了所有提到的步骤,例如:

  1. 在 SQL 配置管理器中启用了 TCP/IP、共享内存和命名管道。
  2. 重新启动 SQLSERVER
  3. 在 Services.msc 我重新启动了 SQLSERVER 和 SQL Server 代理
  4. 在防火墙的入站规则中添加端口 1433
  5. 重启电脑次数
  6. 甚至在 SQL Server 管理工具中注册本地服务器

我可以打开 SQL Server 管理工具
它工作正常,现在不行。但是我能够登录,然后我无法对其进行任何工作,它给了我一个错误:
在此处输入图像描述

尝试了接受的答案中提到的所有步骤这里 我有一些其他应用程序访问相同的 SQL Server,它们工作正常。
我的连接字符串:

public SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Database=RMS_EXPRESS;Integrated Security=True;User Id=sa;Password=xxxxxx");

我还尝试了以下连接字符串

Data Source=.;Database=RMS_TS1;Integrated Security=False;User Id=sa;Password=xxxxxxx

它给了我一个错误。“用户 'sa' 登录失败”

我的应用程序和数据库在同一台 PC 上

所以,请帮忙。谢谢

标签: c#sql-server

解决方案


您不能在连接字符串中设置Integrated Security=trueUser Id=sa;Password=xxxxxx

Integrated Security = true表示它正在使用 Windows 凭据(应用程序正在运行的用户)。数据库连接不能同时使用 Windows 和 SQL Server 身份验证。

您应该:

  • 使用Integrated Security=true但不指定用户 ID 或密码。这将使用 Windows 身份验证。
  • 一起使用Integrated Security=false或删除它并同时指定User IdPassword。这将使用 SQL Server 用户/密码身份验证。

除此之外,还有一个附加问题,最初是您放置Data Source=.\SQLEXPRESS但必须访问Data Source=.导致该错误的默认实例。


推荐阅读