Announcement

Collapse
No announcement yet.

Datenbank aus Serververzeichnis kann nicht geöffnet werden ...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbank aus Serververzeichnis kann nicht geöffnet werden ...

    Hallo miteinander,

    komme bei folgendem Problem nicht so recht weiter :

    Aus einem C#-Projekt heraus soll eine Datenbank bearbeitet werden. Wenn ich in VS 2005 eine Datenbank existierende Datenbank aus dem SQL-Server "Data"-Verzeichnis hinzufüge wird diese in das Anwendungsverzeichnis kopiert. Das ist aber nicht im Sinne des Erfinders, da das Endziel eine Datenbank auf einem Firmenrechner ist und diese von allen Arbeitspaltzrechnern gelesen werden soll.
    Nach dem Löschen dieser Kopien kann diese nicht mehr geöffnet werden obwohl der Connection-String auf das Data-Verzeichnis des Servers zeigt .

    Wo könnte der Fehler liegen ?

    Hier der Connection-String und die angezeigte Fehlermeldung beim Öffnen der Verbindung :

    private const string CONNSTR = "Data Source= b-4b04134cd60f4\\SqlExpress;
    AttachDbFilename=|DataDirectory|\\RegioDD.mdf;
    Integrated Security=True;" +
    "User Instance=True";

    Fehler :

    {"Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei C:\\Dokumente und Einstellungen\\KarstenBöhme\\Eigene Dateien\\Visual Studio 2005\\Projects\\RegioDD\\bin\\Debug\\RegioDD.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 muß ich tun damit die Anwendung versucht die Original-DB im Serververzeichnis zu öffnen ?

    Karsten Böhme

  • #2
    Warum installierst du nicht einfach einen SQLServer auf dem Server und vergisst das mit den User Instanzen?

    Wie auch immer.
    User Instance bedeuten exclusiven Zugriff auf diese DB für genau einen User. Eben der der gerade eine Instanz gestartet hat. Wie auch anders. Es können wohl kaum mehrere SQLServer Instanzen auf den selben mdf files gleichzeitig werkeln.

    Warum er jetzt die DB kopiert weiß ich auch nicht wirklich. Wenn ein User zum ersten mal seine User Instance startet werden jedenfalls für ihn die StandardDB's (also master, msdb, tempdb) angelegt bzw. von deiner in Datasource angegeben Vorlageninstanz kopiert.
    Ich spekuliere mal das wenn du zum ersten mal auf die mdf's zugreifst er sich eh die gesamte Datei ziehen muss damit die User Instanz damit arbeiten kann. Dann könnte man sich vorstellen das die Instanz das File auch einfach mal zwischenspeichert.

    Comment


    • #3
      Hallo,

      ..eine Datenbank auf einem Firmenrechner ist und diese von allen Arbeitspaltzrechnern gelesen werden soll.
      in diesem Fall darf niemals eine User Instance der SQL Server 2005 Express Edition verwendet werden. Der Eintrag "AttachDbFilename=|DataDirectory|\" muss aus der Verbindungszeichenfolge entfernt werden, um statt dessen nur den Server- und Datenbanknamen zu nennen (ohne Installationsverzeichnis der Datenbank!). Die von mehreren Anwendern gemeinsam genutzte Datenbank muss permanent im SQL Server 2005 eingehängt werden.

      Comment


      • #4
        Erst einmal vielen Dank für Eure Tips ! Jetzt ist mir doch einiges klarer geworden. Das Öffnen der an den Server angehängten DB funktioniert jetzt einwandfrei. Werde nun mal daran gehen diese auch von einem anderen Rechner aus zu öffnen. Bitte um Verständnis für meine vielleicht recht trivialen Fragen, komme aus der Hardwareprogrammierung und bin hier absolut unbeleckt !!!

        Vielen Dank

        Comment


        • #5
          Ist das schon erlegtigt?

          Gruß Doug_HH

          Comment

          Working...
          X