Laden...

C# Datenbank Verbindung

Erstellt von simhi88 vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.308 Views
S
simhi88 Themenstarter:in
38 Beiträge seit 2009
vor 15 Jahren
C# Datenbank Verbindung

Hallo Community,

ich versuche zur Zeit im Web Developer 2008 Express mit Hilfe von C# eine Verbindung zur einer lokelen .mdf-Datenbank aufzubauen.

Mein C# Code sieht wie folgt aus:


SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\daten.mdf;Trusted_Connection=YES;"); 

        string strSQL = "Select ...";        
        
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(strSQL, con);
            cmd.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            ...
        }
        con.Close();

Leider kommt dann immer folgende Fehlermeldung (nach dem con.Open();) :

Die physische Datei ...\daten.mdf kann nicht geöffnet werden. Betriebssystemfehler 32: '32(Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.)'.
Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei ...\daten.mdf. Eine Datenbank mit diesem Namen ist bereits vorhanden, die angegebene Datei kann nicht geöffnet werden, oder sie befindet sich in der UNC-Freigabe.

Was mache ich falsch?
Schon mal Danke für Antworten im Voraus!

Gruß
simhi88

239 Beiträge seit 2008
vor 15 Jahren

Hallo simhi88,

ich vermute weil dein Connectionstring falsch ist. Wenn du das |DataDirectory| benutzt, muss sich die daten.mdf-Datei in deinem App_Data-Ordner befinden. Ansonsten fehlt noch der Database-Parameter, der den DB-Namen angibt.

Gruß Michbeck1983

Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁


[URL]XING-Profil[/URL]

S
simhi88 Themenstarter:in
38 Beiträge seit 2009
vor 15 Jahren

Danke für die Antwort.

Das habe ich jetzt soweit gelöst.
Aber ist es normal, dass ich jedes mal, bevor ich das Programm ausführe im Web Developer die Verbindung zur Datenbank trennen muss?
Und öfters kommt es auch vor, dass mir eine Fehlermeldung gezeigt wird, das meine "Standarddatenbank" nicht mehr gefunden wird. Danach starte ich den SqlServer einmal neu und dann funktioniert dies auch wieder. Wo liegt da das Problem?

Danke im Voraus.

Gruß,
simhi88

T
307 Beiträge seit 2008
vor 15 Jahren

An MS 😉