码迷,mamicode.com
首页 > 数据库 > 详细

(转贴)|DataDirectory|解决webconfig数据库连接的相对路径问题

时间:2016-07-11 13:59:07      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

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

? 使用 DataDirectory 替代字符串

? AttachDbFileName 已在 ADO.NET 2.0 中进行了扩展,引入了 |DataDirectory|(包含在管道符号中)替代字符串。DataDirectory 与 AttachDbFileName结合使用可指示数据文件的相对路径,允许开发人员创建基于数据库源的相对路径(而无需指定完整路径)的连接字符串。

DataDirectory 点的物理位置取决于应用程序的类型。 在此示例中,要附加的 Northwind.mdf 文件位于应用程序的 \app_data 文件夹中。

 Data Source = .\\SQLExpress;Integrated Security = true ; User Instance = true ; AttachDBFilename =| DataDirectory | \app_data\Northwind.mdf; Initial Catalog = Northwind;

使用 DataDirectory 时,目录结构中的结果文件的路径不能高于替代字符串指向的目录。 例如,如果完全展开的 DataDirectory 为 C:\AppDirectory\app_data,则上面显示的示例连接字符串有效,因为它在 c:\AppDirectory 之下。 但是,如果尝试将 DataDirectory 指定为|DataDirectory|\..\data

 

(转贴)|DataDirectory|解决webconfig数据库连接的相对路径问题

标签:

原文地址:http://www.cnblogs.com/yxlq/p/5659937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!