VS2019无法操作数据库表及SqlConnection连接字符串转义错误求助
问题解决方案
一、解决连接字符串的CS1009编译错误
C#中字符串的反斜杠\是转义字符,直接写\SQLEXPRESS会被识别为未转义序列,导致编译错误。两种修复方式:
- 使用双反斜杠转义:
public static SqlConnection connection = new SqlConnection("Data Source=DESKTOP-0R58GC3\\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=True"); - 使用
@声明逐字字符串(字符串内容按原样解析,无需转义):public static SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-0R58GC3\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=True");
二、解决“Failed to retrieve server version”错误
该错误多由版本兼容、权限或服务配置问题导致,可按以下步骤排查:
- 确认SQL Server核心服务状态:打开
services.msc,确保**SQL Server (SQLEXPRESS)**服务正在运行(SQL Agent无法启动不影响基础连接,可忽略)。 - 更新VS2019的SQL Server数据工具:进入VS2019的「工具→获取工具和功能」,检查并安装最新版SQL Server数据工具(SSDT),旧版本可能与SQL Server实例不兼容。
- 验证用户权限:右键目标数据库→属性→权限,确认当前登录用户拥有足够权限(至少具备读取服务器版本信息的权限,建议赋予
db_owner角色测试)。 - 更换连接地址格式:尝试用
127.0.0.1\SQLEXPRESS代替计算机名DESKTOP-0R58GC3\SQLEXPRESS,避免计算机名解析异常。 - 启动SQL Server浏览器服务:若使用命名实例(SQLEXPRESS),需确保
services.msc中的SQL Server浏览器服务处于运行状态,否则VS无法获取实例版本信息。
内容的提问来源于stack exchange,提问作者MrORE0
相关产品推荐
相关产品推荐

