7

Also, wie beschrieben on this msdn page, wenn Sie eine Verbindungszeichenfolge für SQL Server Compact 3.5 definieren, können Sie das Makro "Data Directory" wie folgt verwenden:SQL Server Compact 'Data Directory' Makro in Verbindungszeichenfolge - mehr Informationen benötigt

Zitat von this msdn page:

Datenverzeichnis Unterstützung
SQL Server Compact 3.5 unterstützt nun die Makro-Datenverzeichnis. Dies bedeutet, dass Sie die Zeichenfolge | DataDirectory | (eingeschlossen in Rohrsymbolen) in einen Dateipfad, wird es in den Pfad der Datenbank aufgelöst.

Betrachten wir zum Beispiel die Verbindungszeichenfolge:

"Data Source = c: \ Programme \ MyApp \ Mydb.sdf"

Wenn Datenverzeichnis verwenden, können Sie stattdessen die folgende Verbindungszeichenfolge verwenden können:

"Data Source = | Datadirectory | \ Mydb.sdf"

weitere Informationen finden Sie unter Gewusst wie: Bereitstellen einer SQL Server Compact 3.5-Datenbank mit einer Anwendung.

Allerdings gibt der 'für weitere Informationen' Link auf msdn eigentlich keine weiteren Informationen.

Also meine Frage ist:

Wie funktioniert das | Datenverzeichnis | Makro übersetzen zur Laufzeit? Für WinForm-Anwendungen scheint es nur den Speicherort der ausführbaren Datei anzugeben. Oder ist es komplizierter?

Antwort

7

Um die DataDirectory-Eigenschaft festzulegen, rufen Sie die AppDomain.SetData-Methode auf. Wenn Sie nicht über die Datadirectory-Eigenschaft festgelegt, wird die folgenden Standardregeln wird angewandt, um die Datenbank-Ordner zuzugreifen:

  • Für Anwendungen, die in einem Ordner auf dem Computer des Benutzers gesetzt werden, die Datenbank-Ordner verwenden die Anwendung Ordner.
  • Für Anwendungen, die unter ClickOnce ausgeführt werden, verwendet der Datenbankordner den spezifischen Datenordner, der erstellt wird.
0

Bitte lesen Sie diesen Link: http://msdn.microsoft.com/en-us/library/aa478948.aspx

Die | Datadirectory | Teil der Verbindungszeichenfolge gibt an, dass sich die MDF-Datei in dem App_Data-Verzeichnis befindet.

+1

Dank Joe, aber es ist ein bisschen komplizierter als das. Es ist ziemlich offensichtlich, dass App_data für Web-Apps verwendet wird, es ist weniger offensichtlich, wie es für Windows-Apps funktionieren könnte. Siehe z. B. die AppDomain.SetData-Methode, wie von Sasha erwähnt. Auch, Saluce, danke für den Schnitt. – codeulike

Verwandte Themen