接続文字列を動的に生成するとき、よく SqlConnectionStringBuiler を使っています。過去に書いたデータベースに接続するサンプルとか。私は接続文字列の書式をなかなか覚えられないので重宝しています。
var builder = new SqlConnectionStringBuilder(); builder.DataSource = "(local)"; builder.InitialCatalog = "Test"; builder.IntegratedSecurity = true; Console.WriteLine(builder.ToString()); // 出力結果 //=> Data Source=(local);Initial Catalog=Test;Integrated Security=True
この SqlConnectionStringBuilder の良い点は、接続文字列からインスタンス名やデータベース名を取得するときにも使えること。
var builder = new SqlConnectionStringBuilder( @"Data Source=(local)\Foo;Initial Catalog=Bar;Integrated Security=True"); Console.WriteLine(builder.DataSource); Console.WriteLine(builder.InitialCatalog); /* 出力結果 (local)\Foo Bar */
接続文字列からデータベース名を取り出すとき、以前はセミコロンで分割して、さらにキーと値に分割していました。あまりに面倒でうんざりですよね。
このクラスなら接続文字列を手軽に操作できるので、エンドユーザー向けに接続文字列編集ツールなんか作る時に楽できますね。実際、楽させてもらっています。