7

因此,如on this msdn page所述,當您爲 定義連接字符串時,可以使用「數據目錄」宏,如下所示:連接字符串中的SQL Server Compact'數據目錄'宏 - 需要更多信息

引自this msdn page

數據目錄支持
的SQL Server Compact 3.5現在支持數據目錄宏。這意味着如果添加字符串| DataDirectory | (包含在管道符號中)到文件路徑,它將解析爲數據庫的路徑。

例如,考慮連接字符串:

「數據源= C:\ Program Files文件\ MyApp的\ Mydb.sdf」

當使用數據目錄,你可以改用下面的連接字符串:

「數據源= | DataDirectory目錄| \ Mydb.sdf」

有關詳細信息,請參閱如何部署的SQL Server Compact 3.5數據庫與應用程序。

但是,msdn上的'更多信息'鏈接實際上並沒有提供任何更多信息。

所以我的問題是:

如何進行|數據目錄|宏在運行時翻譯?對於WinForm應用程序,它似乎只是給出可執行文件的位置。還是比這更復雜?

回答

7

要設置DataDirectory屬性,請調用AppDomain.SetData方法。如果您沒有設置DataDirectory屬性,下面默認規則將被應用來訪問數據庫文件夾:

  • 對於被置於 文件夾在用戶的計算機上的應用程序,該 數據庫文件夾使用應用程序 文件夾。
  • 對於在ClickOnce下運行 的應用程序,數據庫文件夾 使用創建的 的特定數據文件夾。
0

請查看以下鏈接: http://msdn.microsoft.com/en-us/library/aa478948.aspx

的| DataDirectory目錄|連接字符串的一部分指定MDF文件位於App_Data目錄中。

+1

感謝喬,但它比這更復雜一點。很顯然,App_data將用於Web應用程序,但它對於Windows應用程序的工作原理並不那麼明顯。例如參見Sasha提到的AppDomain.SetData方法。另外,Saluce,感謝您的編輯。 – codeulike 2012-06-18 09:25:24