SQL Server连接字符串CS1009错误:含COMPUTER\Кирилл的用户ID写法咨询
解决SQL Server连接字符串含俄文用户名的转义与登录问题
问题根源
- 转义序列错误:C#普通字符串中,
\是转义字符,原代码里COMPUTER\\Кирилл的第二个\与俄文К组合成了不被识别的转义序列,触发Error CS1009 Unrecognized escape sequence。 - 连接字符串语法错误:User ID值被包裹在单引号中,SQL Server会将单引号视为用户名的一部分,导致身份验证失败。
修正方案
方案1:使用逐字插值字符串(推荐)
在插值字符串前添加@前缀,让字符串中的\被当作普通字符处理,无需额外转义,同时移除多余的单引号:
var connectionString = @$"Data Source={dbHost};Initial Catalog={dbName};User ID=COMPUTER\Кирилл;Password={dbPassword}";
方案2:双重转义反斜杠
保持普通插值字符串,对\进行双重转义(用\\\\代替\\),同时移除单引号:
var connectionString = $"Data Source={dbHost};Initial Catalog={dbName};User ID=COMPUTER\\\\Кирилл;Password={dbPassword}";
额外注意
确保dbHost、dbName、dbPassword变量值正确,且目标SQL Server实例允许该Windows账户(COMPUTER\Кирилл)登录并访问指定数据库。
内容的提问来源于stack exchange,提问作者Кирилл Купряхин
相关产品推荐
相关产品推荐

