(转贴)|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

? 使用 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

时间: 2024-10-09 21:12:33

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

解决mysql数据库连接问题

设置mysql远程连接root权限 在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接.需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库.默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆:需要更改权限才能实现远程连接MYSQL数据库. 通过以下方式来确认: root#mysql -h localhost -uroot -pEnter password: ******We

mvc 解决StyleBundle中 图片绝对路径 装换成相对路径的问题

问题 解决办法 mvc 解决StyleBundle中 图片绝对路径 装换成相对路径的问题

利用 spring bean 的属性 init-method 解决因为数据库连接没有初始化而导致首次点击页面超慢的问题

问题的描述: 一个项目,涉及到了 两个数据源,分别使用的是 两个不同的 数据库连接池,其中一个是 poxool 连接池,问题在于,spring在启动时,只初始化其中的一个 数据库连接池中的数据库连接,而 poxool配置的数据库连接池,在启动时 没有进行初始化,一个数据库连接也没有初始化好,所以导致了首次需要 访问数据库时,临时需要进行数据库连接的初始化,导致了首次点击页面按钮时,如果是远程访问,最多需要15秒左右. 一开始以为可以在 dataSource 这个bean 上使用属性 lazy-i

轻松解决MYSQL数据库连接过多的错误

1.数据库系统允许的最大可连接数max_connections.这个参数是可以设置的.如果不设置,默认是100.最大是16384. 2.数据库当前的连接线程数threads_connected.这是动态变化的. 查看max_connections.max_connections的办法见后. 如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现

解决dbcp数据库连接池错误

使用dbcp数据库连接池时报错 java.lang.NoClassDefFoundError: org/apache/commons/pool2/PooledObjectFactory原因:缺少commons-pool2-2.4.2.jarcommons-dbcp2-2.1.1.jar 原文地址:http://blog.51cto.com/59465168/2071979

解决MySQL数据库连接太多,多数Sleep

1.查看当前所有连接的详细资料: mysqladmin -uroot -proot processlist 客户端使用: show full processlist 2.只查看当前连接数(Threads就是连接数.): mysqladmin -uroot -proot status 客户端使用: 3.查看最大连接数 show variables like "max_connections"; 4:查看当前连接数: show global status like 'Max_used_co

【转】如何解决Ubuntu终端里面显示路径名称太长

原文网址:http://jingyan.baidu.com/article/3d69c5516c129df0ce02d77b.html Ubuntu 默认的终端下面,进入很多层的目录后,前面那个提示符会显示完整的路径,这样命令行太长,让人觉得不舒服,现在教大家一个方法修改一下使命令行只显示当前目录的最后一级目录名,这样看起来也好,用pwd可以看到完整的路径名. 工具/原料 ubuntu xshell 方法/步骤 找到配置文件先进行备份:  cp  ~/.bashrc  ~/.bashrc-bak

彻底解决war包中文件路径问题

在j2EE项目中,我们一般会把项目打包发布,一般是war包,作为独立单元,可以远程上传,加载,发布,还可以实现版本控制,但这与我们开发过程中使用MyEclipse自动部署有所不同,以下做详细说明. 使用war包部署,在tomcat和WebLogic下部署有很大的区别,tomcat会把war自动加压到当前目录下,然后再用解压的目录来发布,这与一般不会出现太大的意外,但如果是用WebLogic发布,就不会被解压,如果开发过程中不注意,war包发布后就有可能出现找不到文件的现象.例如:使用以下方法获取

解决SQLite打开已有路径下的db问题

最近遇到的需要加载已有路径下(sd card下)db的问题,找了一下资料,以下是解决的方法,仅供参考(转载自eoe): SQLiteOpenHelper 是Android框架为我们提供的一个非常好的数据库打开.升级与关闭的工具类.但是这个工具类会自动把db文件创建到“ /data/data/com.*.*(package name)/” 目录下,这么做可能是与Android文件系统的设计思路有关. 但 是在实战过程中,我们可能有各种原因需要自定义db文件路径(例如db文件较大放到sd卡更安全等等