7 Stimmen

Eine Datenbank mit dem gleichen Namen ist bereits vorhanden oder die angegebene Datei kann nicht geöffnet werden oder sie befindet sich auf einem UNC-Share.

Ich erhalte diesen Fehler, wenn ich mein Projekt auf einem neuen PC ausführe. Um dies zu vermeiden, muss ich jedes Mal die neue Verbindungszeichenfolge kopieren und einfügen. Gibt es einen Weg, das zu vermeiden... Ich habe 3 verschiedene Datenbanken und es ist sehr ärgerlich O_O

SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Benutzer\\Yoro\\Desktop\\WAPent 3.0 (1)\\WAPent 3.0\\WAPent 3.0\\WAPent 2.0\\WAPent 2.0\\App_Data\\LoginStuff.mdf;Integrated Security=True;User Instance=True");

Web Config Code

0voto

Ali Yousefi Punkte 2225

Ich erhalte diesen Fehler, wenn ich zwei Verbindungszeichenfolgen in meinem gleichen DBContext verwende, zum Beispiel versuche ich, mich mit einem SQL Server in einer Verbindungszeichenfolge zu verbinden und mich mit einer SQL Express-Datei in einer anderen Verbindungszeichenfolge zu verbinden:

public MyDBContext(bool autoDetectChangesEnabled)
: base("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\MyDB.mdf;User Instance=false;Integrated Security=True;MultipleActiveResultSets=True")
{
Initialize(autoDetectChangesEnabled);
}

public MyDBContext()
: base("data source=(LOCAL)\\SQLEXPRESS;initial catalog=MyDB;persist security info=True;user id=user;password=pass;MultipleActiveResultSets=True;App=EntityFramework")
{
Initialize(true);
}

0voto

Zach A Punkte 51

Ich weiß, dass ich ein altes Thema wiederbelebe, aber meine Suche hat mich hierher geführt und die Lösung, die bei mir funktioniert hat, wurde in den Antworten nicht behandelt.

Ich verwende eine mdf-Datei als Datenbank meines Projekts und mithilfe des Server Explorers in VS habe ich meinen Verbindungszeichenfolge korrekt erstellt mit folgendem:

string _connectionString = $"Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename={System.IO.Directory.GetCurrentDirectory() + "\\Database.mdf"};Integrated Security=True";

Es schien korrekt zu sein, aber ich erhielt immer noch denselben Fehler. Nach einigen Versuchen fand ich heraus, dass das Problem nicht die Verbindungszeichenfolge war, sondern die Eigenschaften der mdf-Datei. Die Einstellung "In Ausgabeverzeichnis kopieren" war ursprünglich auf "Nicht kopieren" gesetzt. Das Ändern auf "Nur kopieren, wenn neuer" hat das Problem für mich behoben.

Bildbeschreibung hier eingeben

0voto

Sami Alkendi Punkte 69

In meinem Fall reinige ich einfach die Lösung und baue sie dann neu auf. Es funktioniert gut.

-1voto

DCH Punkte 1

Beenden Sie Visual Studio.

Führen Sie Visual Studio erneut aus.

Öffnen Sie Ihr Projekt nicht aus der letzten Programmliste, sondern öffnen Sie es mit dem Verfahren Projekt öffnen -> Durchsuchen.

Gehen Sie zum Server-Explorer: Wenn das Symbol Ihrer .mdf-Datei ein kleines rotes X hat, dann erstellen Sie eine neue Tabelle, es ist nicht notwendig, etwas in die Tabelle einzugeben. Aktualisieren Sie sie einfach.

Zuerst sehen Sie eine Aufforderung: Wählen Sie NEIN.

In der zweiten Aufforderung wählen Sie JA: Das kleine rote X sollte verschwinden.

Löschen Sie die Tabelle, die Sie gerade erstellt haben, und aktualisieren Sie.

Dies hat das Problem für mich gelöst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X