Übersicht über lokale Daten

Aktualisiert: November 2007

Von lokalen Daten ist die Rede, wenn eine Verbindung zwischen Ihrer Anwendung und einer Datenbankdatei auf dem lokalen Computer besteht (im Unterschied zu einer Verbindung mit einer Datenbank auf einem Remoteserver). Zurzeit werden SQL Server Compact 3.5-Datenbankdateien (.sdf), SQL Server- und SQL Server Express-Datenbankdateien (.mdf) sowie Microsoft Access-Datenbankdateien (.mdb) als lokale Datenbankdateien unterstützt.

Hinweis:

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.

Zum Erstellen von Verbindungen mit Datenbankdateien verwenden Sie den Assistent zum Konfigurieren von Datenquellen, das Dialogfeld "Neues Element hinzufügen" oder den Knoten Datenverbindungen in Server-Explorer/Datenbank-Explorer.

Hinweis:

Ziehen Sie eine SDF-, MDF- oder MDB-Datei aus Windows Explorer in 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.

Gewusst wie: Herstellen einer Verbindung mit Daten in einer SQL Server Express-Datenbank

Enthält allgemeine Anweisungen zum Herstellen einer Verbindung zwischen der Anwendung und einer SQL Server Express-Datenbankdatei (.mdf).

Exemplarische Vorgehensweise: Herstellen einer Verbindung zu Daten in einer SQL Server Express-Datenbank

Enthält schrittweise Anweisungen zum Herstellen einer Verbindung mit einer SQL Server Express-Datenbank, während eine einfache Windows-Anwendung erstellt wird.

Gewusst wie: Herstellen einer Verbindung zu Daten in einer Access-Datenbank

Enthält Anweisungen zum Herstellen einer Verbindung zwischen der Anwendung und einer Microsoft Access-Datenbankdatei (.).

Exemplarische Vorgehensweise: Herstellen einer Verbindung zu Daten in einer Access-Datenbank

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 Clientdatenanwendungen.

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 Anzeigen von Daten in Formularen in Windows-Anwendungen.

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.

Hinweis:

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.

Bei der Anwendungsentwicklung werden alle Datenänderungen (zur Laufzeit in der Anwendung) 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 der Eigenschaft In Ausgabeverzeichnis kopieren

Verhalten

Kopieren, wenn neuer (Standardeinstellung für SDF-Dateien)

Die Datenbank wird beim erstmaligen Erstellen des Projekts aus dem Projektverzeichnis in das Verzeichnis bin kopiert. Bei jeder weiteren Projekterstellung wird die Geändert am-Eigenschaft der Dateien verglichen. 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)

Die Datenbank wird bei jedem Erstellen der Anwendung 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 die Kopie ersetzt, die gerade geändert wurde. Die aktualisierten Daten sind beim nächsten Ausführen der Anwendung nicht sichtbar. Alle an der Datendatei im Ausgabeordner vorgenommen Änderungen werden beim nächsten Ausführen der Anwendung überschrieben.

Nicht kopieren

Die Datei wird niemals durch das Projektsystem 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: Herstellen einer Verbindung mit Daten in einer SQL Server Express-Datenbank

Gewusst wie: Herstellen einer Verbindung zu Daten in einer Access-Datenbank

Exemplarische Vorgehensweise: Herstellen einer Verbindung zu Daten in einer SQL Server Express-Datenbank

Exemplarische Vorgehensweise: Herstellen einer Verbindung zu Daten in einer Access-Datenbank

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

Exemplarische Vorgehensweise: Hinzufügen einer SQL Server Compact 3.5-Datenbank zu einer Anwendung und Bereitstellen der Anwendung