我正在编写一个用户手动提供连接字符串的应用程序,我想知道是否有任何方法可以验证连接字符串 - 我的意思是检查它是否正确以及数据库是否存在。
最佳答案
您可以尝试连接吗?对于快速(离线)验证,也许使用 DbConnectionStringBuilder
来解析它...
DbConnectionStringBuilder csb = new DbConnectionStringBuilder();
csb.ConnectionString = "rubb ish"; // throws
但要检查数据库是否存在,您需要尝试连接。当然,如果您认识提供者,最简单:
using(SqlConnection conn = new SqlConnection(cs)) {
conn.Open(); // throws if invalid
}
如果您只知道作为字符串的提供者(在运行时),则使用 DbProviderFactories
:
string provider = "System.Data.SqlClient"; // for example
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
using(DbConnection conn = factory.CreateConnection()) {
conn.ConnectionString = cs;
conn.Open();
}
关于c# - 如何检查连接字符串是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434864/