DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Datenbank Connection in .Net verwalten

Der Connections String zeigt den Weg zur Datenquelle. Dieser String wird in der Webanwendung sehr oft benötigt und daher macht es Sinn diesen String nur einmal zu verwalten.Bisher wählten viele Entwickler die global.asa zum speichern des Connection Strings. Dabei wird in eine Application Variable der String geschrieben und über diese abgerufen.

Application("mycon")="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=PREW2KSVUS"

In .Net steht die Datei web.Config als zentraler Managementort für die Webappliaktion zur Verfügung. Neben Einstellungen zum Debugging, Security oder Statusverwaltung lassen sich dort auch eigene Werte ablegen wie z.B. ein Connection String.

Dazu muss in der Web.Config zunächst eine Sektion definiert werden in der die Werte liegen können.

<configuration>
    <configSections>
      <sectionGroup name="system.web">
 <section name="myconf" type="System.Configuration.NameValueSectionHandler,System" />
       </sectionGroup>
    </configSections>
....

Damit kann in der Sektion MyConf Information abgelegt werden. Die Sektion muss unterhalb des Knotens System.web liegen.
<myconf><BR>       <addkey="DBCON"value="server=localhost;uid=sa;pwd=;database=portal" />
     
</myconf>

Über Add Key lassen sich nun mehrere Connection Strings oder andere Werte verwalten. Der Vorteil ist, das beim "Umzug" der Anwendung nur mehr in dieser einen Datei alle Einstellungen vorgenommen werden müssen. Die Datei Web.Config ist übrigens automatisch vom IIS vor Download oder Einsicht geschützt.

Jetzt müssen die Werte in den ASPX oder Codebehind Seiten noch abgerufen werden. Dafür gibt es die Funktion Context.getconfig. Man erhält allerdings eine NameValue Collection als Rückgabe, so das noch ein Zwischenschritt nötig ist. Die Rückgabe muss gecastet werden. Dies passiert in VB mit Ctype in C# durch vorstellen des Casttyps. Anschliessend wird der Wert über Item aus der Liste selektiert  und in einen String gecastet. Dies könnte auch in einem Schritt erledigt werden.
Dim hshTable as NameValueCollection = CType(Context.GetConfig("system.web/myconf"), NameValueCollection)
Dim dsn as String = CType(hshTable.Item("DBCON"), String)

Um den Type NameValue Collection verwenden zu können, muss der passende Namespace referenziert werden.
Imports System.Collections
Imports System.Collections.Specialized

Dieser Artikel bezieht sich auf die Beta 2 des .NET Frameworks.  


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 10.07.2001
  Gültig bis: 09.08.2001
3 Ratings
Bewertung: 93,3%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG