Einheit Ausnahme : der zugrunde liegende Anbieter konnte nicht geöffnet werden
iv ' E bekam einen wcf service host einen Dienst hostet, auf IIS7,
iv ' E Hinzugefügt, die eine Datenbank, um es in den App_Data Ordner ,
den Dienst auf den verwiesen wird, um eine DAL-Projekt
hält ein Modell von Entity Framework generiert aus meiner DB ( Die DB von der WCF Service Host )
bekomme ich immer die obige Einheit Ausnahme mit dieser inneren Botschaft :
{"An attempt to attach an auto-named database for file C:\\Users\\eranot65\\Documents\\Visual Studio 2010\\Projects\\CustomsManager\\WcfManagerServiceHost\\App_Data\\CustomesDB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share."}
iv ' E kopiert die Verbindungszeichenfolge, die vom DAL/app.config WcfManagerServiceHost/Web.config
add name="CustomesDBEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\eranot65\Documents\Visual Studio 2010\Projects\CustomsManager\WcfManagerServiceHost\App_Data\CustomesDB.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient"
dies geschieht, wenn ich versuche, meine Daten Quell-entity-Modell:
public List<Employee> GetEmployees()
{
List<Employee> employees = null;
using (CustomesDBEntities entites = new CustomesDBEntities())
{
employees = entites.Employees.ToList<Employee>();
}
return employees;
}
es scheint nicht, als wenn der DB im Einsatz ist, einige, wo sonst ,
(1) wie kann ich prüfen, ob ein anderer Prozeß ist mit einem Griff zu meiner DB ?
(2) in den Ideen das passiert ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde die Prüfung eines von zwei Dingen:
Erstellen Sie eine Verbindung zu Ihrem SQL Express, entweder in VS-server-explorer oder über das SQL management studio, und stellen Sie sicher, dass nicht bereits eine Datenbank mit diesem Namen, die an Ihre server.
Bewegen, Ihr Projekt von der aktuellen Position irgendwo auf der Festplatte, die nicht Benutzer-spezifisch ist (D. H. nicht auf dem desktop, Dokumente, usw..), zum Beispiel - c:\temp, c:\projects... Der Grund dafür ist, dass Sie mit einer web-Anwendung, und im Falle der Ausführung im IIS die Identität des Arbeitsprozesses ist eine spezielle Identität, die andere als die ihrige, die möglicherweise nicht über die Berechtigungen zum Zugriff auf die Datenbank-Datei, da es befindet sich in einem privaten Ordner des Benutzers
Wahrscheinlich das problem ist, dass Sie die Datenbank öffnen mit Visual Studio und Ihre Anwendung zur gleichen Zeit. Die Verbindungszeichenfolge explizit konfiguriert
AttachDbFilename=..
. AttachDBFilename hoch dreht ein Benutzer die Instanz von SQL Express befestigt, um einen bestimmten DB-Namen für single-user-Modus. Im single-user-Modus, nur eine Anwendung öffnen kann, die MDF zu einer Zeit.nun, die Antwort ist immer einfacher, als Sie denken würden, dass
alles was ich am Ende dabei verändert sich automatisch erzeugten connection-string
durch die erzeugte Entity Framework-Modell , um eine Verbindungszeichenfolge zu suchen, die DB in meinem Ordner App_Data
meine ursprüngliche Verbindungszeichenfolge :
meine bearbeitete Verbindungszeichenfolge :