含下划线的SQL Server连接字符串连接失败问题求助
Blazor Server连接多下划线数据库名被截断的解决方法
以下是针对你遇到的数据库名A_B_C被截断为A_B问题的几种修复方案:
- 移除用户ID的单引号:你的连接字符串中
User ID='User'使用了单引号,部分数据库驱动会将单引号内的内容视为完整字段,进而错误截断后续参数。修改后的连接字符串:string cs = "Data Source=DS; Initial Catalog=A_B_C; User ID=User; Password=Pass;"; - 用方括号包裹数据库名:强制驱动完整识别数据库名,避免特殊字符(包括下划线)导致的解析异常:
string cs = "Data Source=DS; Initial Catalog=[A_B_C]; User ID=User; Password=Pass;"; - 更新数据库驱动:如果你使用的是旧版本的SQL Server驱动(如
System.Data.SqlClient),可能存在下划线解析BUG,建议升级到最新版的Microsoft.Data.SqlClient。 - 检查连接字符串解析逻辑:如果是通过配置系统读取连接字符串,确认没有自定义的解析逻辑意外截断了数据库名称(硬编码场景下此问题概率较低)。
内容的提问来源于stack exchange,提问作者Henrik Bengtsson
相关产品推荐
相关产品推荐

