如何编写带实例名的ASP.NET Core Web API数据库连接字符串(Windows认证)
解决ASP.NET Core Web API Windows认证连接字符串失效问题
我懂你碰到的麻烦了——JSON配置里的反斜杠是特殊字符,直接写单个\会被解析成转义序列,导致你的连接字符串没法正确识别服务器实例,自然连不上数据库。
正确的连接字符串写法
在appsettings.json里,你需要把服务器名中的单个反斜杠替换成双反斜杠\\,这样JSON解析器才会把它当成实际的路径分隔符。正确的配置应该是这样:
"ConnectionStrings": { "DefaultConnection": "Data Source=William\\SQL2017EXPRESS;Initial Catalog=ContactMgmtDB;Integrated Security=SSPI;" }
额外注意事项
- 确认你的SQL Server实例
SQL2017EXPRESS处于运行状态,并且已经开启了Windows身份验证模式 Integrated Security=SSPI和Integrated Security=True功能完全一致,你可以根据习惯选择其中一种写法- 如果是在代码中硬编码连接字符串(非常不推荐,建议始终用配置文件管理),可以用C#的逐字字符串前缀
@来避免转义:string connectionString = @"Data Source=William\SQL2017EXPRESS;Initial Catalog=ContactMgmtDB;Integrated Security=SSPI;";
内容的提问来源于stack exchange,提问作者MilkBottle
相关产品推荐
相关产品推荐

