dreamweaverMX2004中,用asp.net vb 对access数据库的连接

"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=F:\网站\dat\dwdat.mdb;
Mode=ReadWrite|Share Deny None;
Persist Security Info=False"
这是我连接的代码,我试了一种办法,建一个。aspx文件输入<%=server.MapPath("") %>,将运行后的路径替换web.config里面的路径,但是在别人的电脑上测试,还是显示我的路径有问题,请各位高手告诉我一个真正可行的相对路径的连接方法,谢谢!

两种方法:
一、
首先在web.config文件<appSettings>节点中加入如下代码:
<!--数据源-->
<add key="myds" value="Provider=Microsoft.Jet.OLEDB.4.0;Data source="/>
<!--数据库相对路径-->
<add key="myconn" value="App_Data\\VinikeData.mdb"/>

然后,写个类文件,调用上面的定义,代码如下:

\'定义一个连接字符串,难点就在这里,网上很多用到了Server.MapPath,但是还是不行,注意这里用到了Request.MapPath(相对asp来说,这是asp所没用的)
Public connstr As String = ConfigurationSettings.AppSettings("myds") + HttpContext.Current.Request.MapPath("~") + (ConfigurationSettings.AppSettings("myconn").Trim())
接下来就不用说了,相信经常写类的都知道,嘿嘿。。。

方法二、推荐使用
把数据库文件放在 App_Data目录下,然后用下面的连接字符串,就不用管路径问题了,.Net会自动替换成合适的路径。
这是Asp.net 2.0新增的功能,使用|DataDirectory|
Web.config文件中:
<add name="connstr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\db.mdb" providerName="System.Data.OleDb"/>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-13
使用Data Source=server.MapPath(""dwdat.mdb"") ,而不是绝对路径F:\网站\dat\dwdat.mdb

一般可以解决你的问题。。。
相似回答
大家正在搜