DataSet Connection String auslagern
Mittwoch, den 16. Januar 2008Falls ihr schon einmal mit Visual Studio 2005 ein DataSet erstellt und genützt habt, kennt ihr sicherlich bereits die Vorzüge aber auch Nachteile dieser ADO.NET Klasse. Ein Nachteil ist zum Beispiel, dass der integrierte Wizard im VS2005 den ConnectionString für die Datenbankverbindung in ein Property in den Ressourcen ablegt und beim Erstellten des typisierten DataSets im generierten Code auf dieses Property verweist. Wie kann man aber vorgehen, um den ConnectionString einfach in eine Konfigurationsdatei auszulagern?
Dazu erzeugt man ein App.config Datei und fügt folgendes Codesegment in die
App.config
<connectionStrings>
<add name="MyConnectionString"]." connectionString="Data
Source=localhost;Initial Catalog=database;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Beim Attribute connectionString fügt man den Wert des ConnectionString Properties aus der Ressourcendatei ein. Ebenfalls muss ein sinnvoller Name für den ConnectionString-Eintrag unter name eingetragen werden. Danach merkt man sich den Namen des ConnectionString-Properties in der Ressourcendatei und fügt einen gleichnamigen Eintrag in die Datei Settings.Designer.cs als Public-Property gemäss untenstehendem Code ein:
Settings.Designer.cs
public string MyConnectionString
{
get
{
return (System.Configuration.ConfigurationManager.
ConnectionStrings["MyConnectionString"].
ConnectionString);
}
}
Damit auf den Namespace System.Configuration zugegriffen werden kann, muss nur noch das entsprechende Assembly über den Referencedialog zum aktuellen Projekt hinzugefügt werden. Danach kann man den ConnectionString-Eintrag in den Ressourcen löschen, das Projekt kompilieren und fertig.
