c# - SqlServer2012-错误 40-无法在 SQL Server 中打开连接
问题描述
我知道这是一个已回答的问题,但是我已经尝试了所有提到的步骤,例如:
- 在 SQL 配置管理器中启用了 TCP/IP、共享内存和命名管道。
- 重新启动 SQLSERVER
- 在 Services.msc 我重新启动了 SQLSERVER 和 SQL Server 代理
- 在防火墙的入站规则中添加端口 1433
- 重启电脑次数
- 甚至在 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 上
所以,请帮忙。谢谢
解决方案
您不能在连接字符串中设置Integrated Security=true
和User Id=sa;Password=xxxxxx
Integrated Security = true
表示它正在使用 Windows 凭据(应用程序正在运行的用户)。数据库连接不能同时使用 Windows 和 SQL Server 身份验证。
您应该:
- 使用
Integrated Security=true
但不指定用户 ID 或密码。这将使用 Windows 身份验证。 - 一起使用
Integrated Security=false
或删除它并同时指定User Id
和Password
。这将使用 SQL Server 用户/密码身份验证。
除此之外,还有一个附加问题,最初是您放置Data Source=.\SQLEXPRESS
但必须访问Data Source=.
导致该错误的默认实例。
推荐阅读
- javascript - 使用选择多个图像,更新状态存储图片的url,动态添加标签在reactjs中显示
- c# - 在 2 个显示器上最大化 WPF 窗口
- javascript - OpenLayers 中图标的奇怪问题(不显示 svg 图标,而类似图标显示)
- javascript - 更新调用后额外的 GET API 调用
- listview - ListView.Builder 内的 ListView.Builder 不起作用(嵌套 Listviews)
- docker - 使用 letencrypt 生成 SSL 证书失败并显示“300 - 多项选择”
- python - Kivy 不使用操作栏上的按钮更改屏幕
- android - 将android分页库与内存中的项目一起使用
- javascript - 使用 Jquery 更改日期格式
- android - 使用临时密钥和 volley 在 android 上进行条带化客户管理