如何判断一个连接字符串是属于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; }

mySqlBuildermsSqlBuilder都将接受连接字符串,不会抛出异常。

同样,MySqlConnectionStringBuilder.ToString()返回server=myServerAddress;database=myDataBase;user id=myUsername;password=myPassword

如何判断一个连接字符串是属于MySql还是SQL Server ?

这取决于你连接的方式,如果你在连接字符串中指定了用户名和密码,那么就会有区别:

MS SQL Server连接字符串使用用户名/密码:

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

MySql连接字符串使用用户名/密码:

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

所以你可以检查连接字符串是否包含PasswordPwd