none
SQL Datenbank auf Netzlaufwerk RRS feed

  • Frage

  • Hallo, 

     

    ich arbeite gerade an einer Anwendung, für die ich eine Datenbank brauche. Also hab ich auf meinem Server eine SQL Datenbank mit SQL Server 2008 R2 erstellt. Da ich nicht immer über Remotedesktop die Datenbank bearbeiten will, habe ich versucht die Datenbank über SQL Servermanagement Studio zu öffnen. Dabei kommt immer folgende Fehlermeldung:

    Das Öffnen von Datenbankdateien auf einer Netzwerkfreigabe wird von SQL Server Compact nicht unterstützt

    Was ich allerdings nicht verstehe, da Datenbanken ja sehr oft auf Netzlaufwerken gebraucht werden... oder benötige ich da dann einen richtigen SQL Server?

     

    Schon mal danke im vorraus!

     

    max

    Samstag, 23. April 2011 10:20

Antworten

  • Hallo Max,

    ich kann Dir dabei leider nicht weiterhelfen, dazu müsstest Du die EDV-Administration eurer Firma fragen  -
    wenn die nicht im verdienten Osterurlaub ist.

    Ohne die Informationen von dort bleiben Dir als Möglichkeit:

    1. Kopiere Dir die SDF (COMPACT) Datenbank lokal - wie bereits erwähnt.
    2. Installiere Dir selbst einen SQL Server Express auf Deinen lokalen Rechner

    Besser dürfte aber zunächst die 1. Variante sein, denn dann brauchst Du Dein Programm vorerst nicht zu verändern.
    Eine Compact-Datenbank kannst Du beliebig hin- und herkopieren, solange nur einer damit arbeitet.
    Mit der SQL Server Compact Toolbox kannst Du ggf. Abgleiche vornehmen.

    Entscheidest Du Dich für die 2. Variante wirst Du nicht nur Deine bisherigen Code anpassen müssen.
    Dein Programm wird bei Kunden dann eine SQL Server (Express) Installation voraussetzen.
    Du solltest vorher klären, ob das wirklich gewünscht ist.

    Gruß Elmar

    • Als Antwort markiert riclato Samstag, 23. April 2011 18:24
    Samstag, 23. April 2011 17:39

Alle Antworten

  • Hallo Max,

    SQL Server Compact erlaubt den Zugriff über eine Netzwerkfreigabe nicht,
    da es nur für den lokalen Betrieb auf einem Rechner konzipiert ist - siehe SQL Server Compact Übersicht.

    Es erlaubt zwar bis zu 256 gleichzeitige Verbindungen,  was aber nur zwischen den Prozessen
    eines Rechners (über gemeinsamen Speicher) funktioniert.
    Würde man einen Zugriff über eine Freigabe erlauben, wäre diese Kontrolle nicht mehr möglich.

    Willst Du die Compact Datenbank direkt bearbeiten müsstest Du sie auf ein lokales Laufwerk kopieren.

    Du könntest SQL Server 2008 R2 Express verwenden, dort reicht ein Server im Netzwerk und
    der Zugriff ist via Programm wie Management Studio direkt (ohne Remotdesktop) möglich.

    Gruß Elmar

    Samstag, 23. April 2011 15:28
  • Ich verwende ja SQL Server 2008 Express um auf eine Datenbank im Netzwerk zuzugreifen... also die Datenbank ist nicht im lokalen Netzwerk ich mach das über Hamachi. Aber das simuliert ja lokales Netzwerk. Kann es daran liegen?

     

    max

    Samstag, 23. April 2011 16:13
  • Hallo Max,

    ich wollte das bereits gleich zu Anfang fragen:
    Reden wir nun von einer SQL Server COMPACT Datenbank (Dateiendung .SDF)
    oder einer SQL Server 2008 R2 Datenbank (Dateiendung .MDF)?

    Da die von Dir angegebene Fehlermeldung der von Compact ähnelt, bin ich von ersterem ausgegangen.

    Das Management Studio (Express) kann beide Dateiformate öffnen.
    Das ist aber nur die Verwaltung Oberfläche - der SQL Server Datenbank SERVER ist ein eigenständiges Programm.

    Ich kenne Hamachi nur dem Namen nach, aber ein Zugriff auf einen SQL Server Dienst sollte
    dort über die zugewiesene VPN-Netzwerkadresse und den Instanznamen auch möglich sein,
    wenn der Netzwerkport zugänglich gemacht wurde.

    Gruß Elmar

    Samstag, 23. April 2011 16:24
  • Hi,

     

    also wir reden von einer COMPACT (.SDF) Datenbank. Verstehe ich richtig das ich eine .MDF Datenbank machen muss und über die dann auch im Netzwerk zugreifen kann?

    Dazu hätt ich gleich noch eine Frage: Wie erstelle ich die? Ich mach das ganze über SQL Server Management Studio. Wenn ich SQL Server Compact auswähle kann ich ja Neue Datenbank erstellen auswählen. Wenn ich aber Datenbankmodul mache (was ja soviel ich weis übers netzwerk geht) kann ich nur mit einer verbinden und keine neue erstellen.

     

    max

    Samstag, 23. April 2011 16:33
  • Hallo Max,

    für Compact gilt dann das im ersten Beitrag gesagte.

    Wenn Du Dich mit dem Datenbankmodul verbindest, so eröffnest Du erst eine Verbindung
    mit dem SQL Server - vorausgesetzt in eurem Netzwerk gibt es einen.

    Hast Du Dich verbunden (und ausreichende Berechtigungen) so kannst
    Du u. a. über den Objekt-Explorer eine neue Datenbank erstellen.

    Dazu wähle im Kontextmenü des Knoten Datenbanken Neu... aus, siehe
    Vorgehensweise: Erstellen einer Datenbank (SQL Server Management Studio)

    Für Dein Programm heißt das dann aber, dass Du den Provider tauschen musst,
    so wie aus einer SqlCeConnection eine SqlConnection (in System.Data.SqlClient).

    Gruß Elmar

    Samstag, 23. April 2011 17:00
  • Also erstmal danke für die Antwort,

    aber genau das ist mein Problem, ich hab kein Datenbankmodul im Netzwerk und weis auch nicht wie ich eins aufmache

     

    max

    Samstag, 23. April 2011 17:07
  • Hallo Max,

    ich kann Dir dabei leider nicht weiterhelfen, dazu müsstest Du die EDV-Administration eurer Firma fragen  -
    wenn die nicht im verdienten Osterurlaub ist.

    Ohne die Informationen von dort bleiben Dir als Möglichkeit:

    1. Kopiere Dir die SDF (COMPACT) Datenbank lokal - wie bereits erwähnt.
    2. Installiere Dir selbst einen SQL Server Express auf Deinen lokalen Rechner

    Besser dürfte aber zunächst die 1. Variante sein, denn dann brauchst Du Dein Programm vorerst nicht zu verändern.
    Eine Compact-Datenbank kannst Du beliebig hin- und herkopieren, solange nur einer damit arbeitet.
    Mit der SQL Server Compact Toolbox kannst Du ggf. Abgleiche vornehmen.

    Entscheidest Du Dich für die 2. Variante wirst Du nicht nur Deine bisherigen Code anpassen müssen.
    Dein Programm wird bei Kunden dann eine SQL Server (Express) Installation voraussetzen.
    Du solltest vorher klären, ob das wirklich gewünscht ist.

    Gruß Elmar

    • Als Antwort markiert riclato Samstag, 23. April 2011 18:24
    Samstag, 23. April 2011 17:39
  • Na gut dann entscheide ich mich für die erste Version und mache das ganze erstmal Lokal

     

    Danke für die Antworten

     

    mfg max

    Samstag, 23. April 2011 18:24