如何判断一个连接字符串是属于MySql还是SQL Server ?
本文关键字:MySql 属于 还是 SQL Server 字符串 一个 何判断 判断 连接 | 更新日期: 2023-09-27 18:15:17
是否有一种方法可以测试连接字符串是否有效而不尝试打开连接?
我需要找出连接字符串是MySql连接字符串,还是SQL Server连接字符串?
编辑
这是我尝试过的
var connectionString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"
MySqlConnectionStringBuilder mySqlBuilder;
try { mySqlBuilder = new MySqlConnectionStringBuilder(connectionString); }
catch { mySqlBuilder = null; }
SqlConnectionStringBuilder msSqlBuilder;
try { msSqlBuilder = new SqlConnectionStringBuilder(connectionString); }
catch { msSqlBuilder = null; }
mySqlBuilder
和msSqlBuilder
都将接受连接字符串,不会抛出异常。
同样,MySqlConnectionStringBuilder.ToString()
返回server=myServerAddress;database=myDataBase;user id=myUsername;password=myPassword
这取决于你连接的方式,如果你在连接字符串中指定了用户名和密码,那么就会有区别:
MS SQL Server连接字符串使用用户名/密码:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
MySql连接字符串使用用户名/密码:
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
所以你可以检查连接字符串是否包含Password
或Pwd
。