|DataDirectory|解决webconfig数据库连接的相对路径问题
webconfig中的数据库连接是不支持Server.MapPath的,一般我们只能写上数据库文件的物理路径,这给网站迁移带来很大的不方便。今天在网上找到了一个解决办法,与大家分享下。看以下代码: <connectionStrings> <add name="ConnStr_Access" providerName="System.Data.OleDb" connectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\cms.mdb;" /> </connectionStrings> |DataDirectory|会被自动解析到App_Data 下面是MSDN的说明: 使用 DataDirectory 替代字符串 AttachDbFileName 已在 ADO.NET 2.0 中进行了扩展,引入了 |DataDirectory| (包含在管道符号中)替代字符串。 DataDirectory 与 AttachDbFileName 结合使用可指示数据文件的相对路径,允许开发人员创建基于数据库源的相对路径(而无需指定完整路径)的连接字符串。 DataDirectory 点的物理位置取决于应用程序的类型。 在此示例中,要附加的 Northwind.mdf 文件位于应用程序的 \app_data