Übersicht über lokale Daten
Der Begriff lokale Daten bezieht sich darauf, dass eine Verbindung zwischen der Anwendung und einer Datenbankdatei auf dem lokalen Computer besteht (im Gegensatz zu einer Verbindung mit einer Datenbank auf einem Remoteserver). SQL Server Compact 3.5-Datenbankdateien (.sdf), SQL Server- und SQL Server Express-Datenbankdateien (.mdf) sowie Microsoft Access-Datenbankdateien (.mdb) sind die derzeit unterstützten lokalen Datenbankdateitypen.
Tipp
SQL Server Compact 3.5 ist die bevorzugte lokale Datenbank für Clientanwendungen. Weitere Informationen finden Sie unter SQL Server Compact 3.5 und Visual Studio.
Tipp
Ziehen Sie eine SDF-, MDF- oder MDB-Datei aus Windows Explorer in den Projektmappen-Explorer, um die Verbindung automatisch zu konfigurieren, und starten Sie den Assistenten zum Konfigurieren von Datenquellen. Anschließend können Sie die Objekte auswählen, die in der Anwendung verwendet werden sollen.
Die folgende Tabelle enthält Links zu Themen, in denen beschrieben wird, wie die Anwendung mit lokalen Daten verbunden wird:
Thema |
Beschreibung |
---|---|
Exemplarische Vorgehensweise: Erstellen einer SQL Server Compact 3.5-Datenbank |
Enthält schrittweise Anweisungen zum Erstellen einer lokalen Datenbankdatei, die zum Testen von Datenfeatures sowie zum Erstellen von Anwendungen verwendet werden kann. |
Exemplarische Vorgehensweise: Erstellen einer SQL Server Express-Datenbank |
Enthält schrittweise Anweisungen zum Erstellen einer lokalen Datenbankdatei, die zum Testen von Datenfeatures sowie zum Erstellen von Anwendungen verwendet werden kann. |
Enthält schrittweise Anweisungen zum Herstellen einer Verbindung mit einer SQL Server Express-Datenbank, während eine einfache Windows-Anwendung erstellt wird. |
|
Enthält ein schrittweises Beispiel für das Herstellen einer Verbindung mit einer Microsoft Access-Datenbank. |
|
Gewusst wie: Erstellen einer Datenverbindung mit der Northwind-Datenbank |
Enthält ausführliche Informationen zum Herstellen einer Verbindung mit der SQL Server-, der SQL Server Compact 3.5-, der SQL Server Express- und der Access-Version der Beispieldatenbank Northwind. |
Nachdem Sie eine Datenquelle erstellt haben, die für den Zugriff auf eine lokale Datendatei konfiguriert ist, verwenden Sie zur Arbeit mit den Daten dieselben Technologien und Objekte, die Sie auch zum Arbeiten mit Daten aus allen anderen Quellen verwenden würden. Weitere Informationen finden Sie unter Erstellen von Datenanwendungen.
Die Datenbank ist Bestandteil der Anwendung
Wenn Sie lokale Daten verwenden, können Sie nicht nur eine Verbindung mit einer Datenbankdatei herstellen, sondern die Datenbankdatei auch in die Anwendung integrieren. So können Sie z. B. im Menü Projekt auf Vorhandenes Element hinzufügen klicken, nach einer vorhandenen SDF-, MDF- bzw. MDB-Datei suchen und die Datei dem Projekt hinzufügen.
Hinweis Wenn Sie den Assistenten zum Konfigurieren von Datenquellen zum Erstellen der Datenquelle für eine lokale Datendatei verwenden, werden Sie gefragt, ob die Datei in das Projekt eingebunden werden soll. Wenn Sie dies nicht möchten, enthält die Anwendung lediglich die Verbindungszeichenfolge, die auf den hartcodierten Pfad verweist, jedoch nicht die eigentliche Datendatei. Weitere Informationen finden Sie unter Gewusst wie: Verwalten von lokalen Datendateien im Projekt.
Beim Hinzufügen lokaler Datendateien werden ein typisiertes Dataset sowie eine dynamische Verbindungszeichenfolge erstellt, die auf die Datenbankdatei in der Anwendung verweist. Wenn Sie dem Projekt eine Datenbankdatei hinzufügen, verwenden Sie den Assistenten zum Konfigurieren von Datenquellen zum Auswählen der Objekte, die im Dataset enthalten sein sollen.
Nachdem Sie den Assistenten beendet haben, werden die Datenbankdatei und das DataSet im Projektmappen-Explorer/Datenbank-Explorer angezeigt, und die ausgewählten Datenbankobjekte stehen im Fenster Datenquellen zur Verfügung. Sie können Elemente aus dem Datenquellenfenster auf das Formular ziehen, um Steuerelemente zu erstellen, die an die zugrunde liegenden Daten gebunden sind. (Wählen Sie im Menü Daten den Befehl Datenquellen anzeigen, um das Datenquellenfenster zu öffnen.) Weitere Informationen finden Sie unter Binden von Steuerelementen an Daten in Visual Studio.
Jedes Projekt enthält zwei Kopien der Datenbank
Wenn Sie ein Projekt erstellen, wird die Datenbankdatei eventuell aus dem Stammordner des Projekts in den Ausgabeordner (bin) kopiert. (Klicken Sie auf die Schaltfläche Alle Dateien anzeigen im Projektmappen-Explorer, um den Ordner bin anzuzeigen.) Dieses Verhalten hängt von der Eigenschaft In Ausgabeverzeichnis kopieren der Datei ab. Die Standardeinstellung der Eigenschaft In Ausgabeverzeichnis kopieren richtet sich nach dem Typ der verwendeten Datenbankdatei.
Tipp
Das Verhalten der Eigenschaft In Ausgabeverzeichnis kopieren gilt nicht für Webprojekte oder C++-Projekte.
Die Datenbankdatei im Stammordner des Projekts wird nur geändert, wenn Sie mit dem Server-Explorer/Datenbank-Explorer oder anderen Visual Database Tools das Datenbankschema oder die Daten bearbeiten.
Das Verhalten der Datenbankdatei hängt von der Einstellung der Eigenschaft In Ausgabeverzeichnis kopieren ab, die in der nachstehenden Tabelle ausführlich dargestellt wird.
Während der Anwendungsentwicklung werden alle Änderungen, die (zur Laufzeit innerhalb der Anwendung) vorgenommen werden, an der Datenbank im Ordner bin vorgenommen. Wenn Sie beispielsweise F5 drücken, um die Anwendung zu debuggen, stellen Sie eine Verbindung mit der Datenbank im Ordner bin her.
Einstellung In Ausgabeverzeichnis kopieren |
Verhalten |
---|---|
Kopieren, wenn neuer (Standardeinstellung für SDF-Dateien) |
Die Datenbankdatei wird beim ersten Erstellen des Projekts aus dem Projektverzeichnis in das Verzeichnis bin kopiert. Jedes Mal, wenn Sie das Projekt erneut erstellen, wird ein Vergleich mit der Eigenschaft Geändert am der Dateien durchgeführt. Wenn die Datei im Projektordner neuer ist, wird sie in den Ordner bin kopiert und ersetzt die derzeit dort befindliche Datei. Wenn die Datei im Ordner bin neuer ist, werden keine Dateien kopiert.
Vorsicht
Diese Option wird nicht für MDB- oder MDF-Dateien empfohlen.Die Datenbankdatei kann sogar geändert werden, wenn gar keine Änderungen an den Daten vorgenommen werden.Schon beim bloßen Herstellen einer Verbindung mit einer Datendatei (z. B. durch Erweitern des Knotens Tabellen im Server-Explorer) kann diese Datei als neuer gekennzeichnet werden.Aufgrund dieses unvorhersehbaren Verhaltens wird von der Verwendung dieser Option für MDB- oder MDF-Dateien abgeraten.
|
Immer kopieren (Standardeinstellung für MDF- und MDB-Dateien) |
Bei jedem Erstellen der Anwendung wird die Datenbankdatei aus dem Projektverzeichnis in das Verzeichnis bin kopiert. Jedes Mal, wenn Sie die Anwendung erstellen und Änderungen an den Daten speichern, werden diese Änderungen überschrieben, wenn die ursprüngliche Datei in das Verzeichnis bin kopiert wird und so die soeben geänderte Kopie ersetzt wird. Beim nächsten Ausführen der Anwendung sind die aktualisierten Daten nicht sichtbar. Alle an der Datendatei im Ausgabeordner vorgenommenen Änderungen werden beim nächsten Ausführen der Anwendung überschrieben. |
Nicht kopieren |
Die Datei wird vom Projektsystem niemals kopiert oder überschrieben. Diese Einstellung funktioniert bei lokalen Datenbankdateien nur, wenn Sie die Datei selbst kopieren, da die Anwendung eine dynamische Verbindungszeichenfolge erstellt, die auf die Datenbankdatei im Ausgabeverzeichnis verweist. Sie müssen die Datei manuell in das Ausgabeverzeichnis kopieren, nachdem Sie die Einstellung Nicht kopieren festgelegt haben. |
Häufig auftretende Probleme bei lokalen Daten
Die folgende Tabelle enthält Erklärungen für häufig auftretende Probleme beim Arbeiten mit lokalen Datendateien.
Problem |
Erklärung |
---|---|
Jedes Mal, wenn ich die Anwendung teste und Daten ändere, gehen die Änderungen beim nächsten Ausführen der Anwendung verloren. |
Die Option In Ausgabeverzeichnis kopieren wurde auf Kopieren, wenn neuer oder Immer kopieren festgelegt. Durch diese Einstellungen wird die Datenbank im Ausgabeordner (die Datenbank, die beim Testen der Anwendung geändert wird) bei jeder Erstellung des Projekts überschrieben. Weitere Informationen finden Sie unter Gewusst wie: Verwalten von lokalen Datendateien im Projekt. |
Ich erhalte eine Meldung mit dem Hinweis, dass die Datendatei gesperrt ist. |
Access (MDB-Dateien): Stellen Sie sicher, dass die Datei nicht in einem anderen Programm, z. B. Access, geöffnet ist. SQL Server Express (MDF-Dateien): SQL Express sperrt die Datendatei, wenn Sie versuchen, die Datendatei außerhalb der Visual Studio IDE zu kopieren, zu verschieben oder umzubenennen. |
Der Zugriff wird verweigert, wenn zwei Benutzer gleichzeitig versuchen, auf die Datenbank zuzugreifen |
Visual Studio verwendet Benutzerinstanzen, ein Feature von SQL Server Express, mit dem für jeden Benutzer eine separate Instanz von SQL Server erstellt wird. Sobald ein Benutzer auf die Datei zugreift, kann kein nachfolgender Benutzer eine Verbindung herstellen. Dies kann z. B. vorkommen, wenn Sie versuchen, eine Webanwendung gleichzeitig in ASP.NET Development Server und in IIS auszuführen, da IIS i. d. R. unter einem anderen Konto ausgeführt wird. |
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen einer SQL Server Compact 3.5-Datenbank zu einem Projekt
Gewusst wie: Bereitstellen einer SQL Server Compact 3.5-Datenbank mit einer Anwendung
Exemplarische Vorgehensweise: Erstellen einer SQL Server Compact 3.5-Datenbank