标题:[求助]web.config文件中连接access数据库
只看楼主
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
 问题点数:0 回复次数:11 
[求助]web.config文件中连接access数据库
从网上和咱论坛上看了看这方面的帖子,都好象没说的太明白

有的说
asp.net 2.0
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库路径"
providerName="System.Data.OleDb" />
asp.net 1.0
<add key ="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库路径"
providerName="System.Data.OleDb"/>
如果是这个的话,那数据库路径只绝对的,,,我拿到别人机器上不就不能用了吧

想要那中拿到别人机器上就可以用的代码

我的程序下有个文件夹app_data里边存放数据库

然后,我应该在web.config文件中怎么写 数据库 连接啊.
搜索更多相关主题的帖子: web config 数据库 access 文件 
2007-11-20 10:20
mkshaoshao
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-9-25
得分:0 
没好好看过,那个地方是绝对的吗?
2007-11-20 10:42
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 
那是不是就是写你程序文件夹下 ~/app_data/test.mdb

这样写 行吗?

2007-11-20 10:45
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=~/App_Data/blog.mdb"
providerName="System.Data.OleDb" />

strConnection = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

alert('System.Data.OleDb.OleDbException: 'E:\学习软件\Visual Studio.2005\Common7\IDE\~\App_Data\blog.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) 在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.OleDb.OleDbConnection.Open() 在 user_mg.BindGrid() 位置 f:\个人练习\ASP.NET练习\个人Blog\user_mg.aspx.cs:行号 33')

我程序在F盘啊,这怎么回事..


2007-11-20 10:54
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 

ACCESS在Web.config里设置连接字符串!
在web.config中使用象ASP那样的Server.MapPath取数据库路径
但web.config不认识Server.MapPath,此方法致使程序无法调试,行不通。

如下方法,可以方便的移植程序路径而不必再去修改ACCESS数据库路径。

在web.config中的写法如下:

<appSettings>
<add key="ConnStr" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="/AppData/mydata.mdb"/>
</appSettings>

程序中的数据访问类中我把"ConnStr"和"dbPath"取出来再连接成一个字符串
代码如下:

/// <summary>
/// (静态)返回数据库连接串。
/// </summary>
protected static string GetConnString()
{
return
System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["DataPath"])+";";
}



这种也不行

它提示我 E:下文件找不到
我程序在F啊
我.NET装在E
这怎么会事.


2007-11-20 10:57
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 

这种方法可以了

<add name="strConnection" connectionString="provider=microsoft.jet.OLEDB.4.0;Data Source={0}" providerName="System.Data.OleDb"/>

调用的时候

string s = string.Format( System.Configuration.ConfigurationSettings.AppSettings["strConnection"],Server.MapPath("aa.mdb") );

我想问一下,我上边出现错误的方法 ,代码应该怎么写,谁能给说说,谢谢了.

[此贴子已经被作者于2007-11-20 11:04:08编辑过]


2007-11-20 11:03
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 
没人说啊,谁来说说,哈.....

2007-11-20 13:22
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 
自己顶起来啊,
来给我说下吧.

2007-11-20 21:32
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
存的话先是根的绝对路径

比如:<add name="AccessConn" connectionString="/DataBase/Data/Base/Ent.mdb" />

取的时候在这样
  string DbPath = System.Configuration.ConfigurationManager.ConnectionStrings["AccessConn"].ToString();
            string AccessStr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(DbPath);

中国人的财富网:http://www..cn/
2007-11-23 02:13
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
是的,存相对路径(根路径)比较好。

飘过~~
2007-11-23 11:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187263-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.067074 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved