數據庫連接字符串中的|DataDirectory|


在.NET開發過程中,經常會在數據庫連接字符串中用到|DataDirectory|,如:

    <connectionStrings>
        <add name="VideoLibrary.Properties.Settings.VideoDatabaseConnectionString"
            connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\VideoDatabase.mdf;Integrated Security=True;User Instance=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

    <add name="MyConnection" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\MyDB.mdb;Persist Security Info=True" providerName="System.Data.OleDb" />

那么,|DataDirectory|是代表哪個路徑呢?

By default this variable will be expanded as:
•For a local Application this will be the Assembly (App's .exe) folder。就是說,對於Windows應用程序(WinForm、WPF),數據庫文件應該和可行性文件在同一個目錄下;
•For ClickOnes running Apps it will be a special data folder created by ClickOnes。就是說,對於以ClickOnce方式運行,系統是通過AppDomain.CurrentDomain.GetData("DataDirectory")來解析的。因此,可以通過代碼指定,在WPF的App構造方法中加入代碼AppDomain.CurrentDomain.SetData("DataDirectory")=AppDomain.CurrentDomain.BaseDirectory;或者,AppDomain.CurrentDomain.SetData("DataDirectory", newDataPath);
•For ASP.NET App it will be App_Data folder.。對於ASP.NET,數據庫文件應放在App_Data目錄下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM