I'm writing an application where a user provides a connection string manually and I'm wondering if there is any way that I could validate the connection string - I mean check if it's correct and if the database exists.
You could try to connect? For quick (offline) validation, perhaps use DbConnectionStringBuilder
to parse it...
DbConnectionStringBuilder csb = new DbConnectionStringBuilder(); csb.ConnectionString = "rubb ish"; // throws
But to check whether the db exists, you'll need to try to connect. Simplest if you know the provider, of course:
using(SqlConnection conn = new SqlConnection(cs)) { conn.Open(); // throws if invalid }
If you only know the provider as a string (at runtime), then use DbProviderFactories
:
string provider = "System.Data.SqlClient"; // for example DbProviderFactory factory = DbProviderFactories.GetFactory(provider); using(DbConnection conn = factory.CreateConnection()) { conn.ConnectionString = cs; conn.Open(); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With