「超動的」が必要な場合は、Davio が適切なものを提供しています。
「N個のデータベースを取得しましたが、時々変更される可能性があります」が必要な場合は、次のことをお勧めします。
以下は、一般的な Dot Net 2.0 以降の構成です。
<connectionStrings>
<add name="EastCoastConnectionString" connectionString="server=server01;database=myDb;uid=myUser;password=myPass;" />
<add name="WestCoastConnectionString" connectionString="server=server02;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
次に、"フレンドリ名" を接続文字列にマップするカスタム構成セクションを作成します。
次のコードを見つけてください:
ConfigurationSection に単純なコレクションを含める方法
<TransformationToDirectoryMappingsSection>
<TransformationToDirectoryMappings>
<add FriendlyName="NY Giants" PickupFolder="EastCoastConnectionString" />
<add FriendlyName="NE Patriots" PickupFolder="EastCoastConnectionString" />
<add FriendlyName="Carolina Panthers" PickupFolder="EastCoastConnectionString" />
<add FriendlyName="San Francisco 49ers" PickupFolder="WestCoastConnectionString" / >
<add FriendlyName="Seattle Seahawks" PickupFolder="WestCoastConnectionString" />
<add FriendlyName="Arizona Cardinals" PickupFolder="WestCoastConnectionString" />
</TransformationToDirectoryMappings>
</TransformationToDirectoryMappingsSection>
</configuration >
次に、ドロップダウン ボックスにすべての "FriendlyName" を入力します........そして、それを接続文字列にマップすることができます。
ここで、ドロップダウン リストに接続文字列の名前を入力するだけで済みます...しかし、私はその考えが好きではありません....フレンドリ名」から「実際の名前」へのマッピング。
少なくとも、設定ファイルに接続文字列を設定して、ドロップダウンに次のように入力します。
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.connectionstrings.aspx
ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings;
foreach (ConnectionStringSettings connection in connections)
{
string name = connection.Name;
}