有人在吗?帮忙解决一下用ado.net连接access出现的的问题
我连接的代码如下:
OleDbConnection conn = new OleDbConnection
( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://Report.mdb ");
string strSql = "select * from example;
OleDbCommand comm = new OleDbCommand(strSql, conn);
conn.Open();
//-----------------------我调试到下面这一行时,出现了这个异常:IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。
//--------------------
OleDbDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
dr.GetValue(0).ToString();
}
dr.Close();
conn.Close();
--------------------------------------
在网上搜索了一下,有的说是连接sql语句写错了,也有说是 权限有问题,我跟踪调试了很久都没解决,有用ado.net连接acces做过开发的吗?帮忙解决一下?????
------解决方案--------------------1、string strSql = "select * from example ";??是这个问题吗?
2、将数据库改为可写
3、设置数据库访问的权限加个everyone
试试吧。
-----------------------------------------------
msn:bdbox@hotmail.com
请给我个与您交流的机会
------解决方案--------------------给存放数据库的文件夹添加 Internet 来宾用户 并 赋予其修改权限
------解决方案--------------------access 一般要设置权限
public static readonly string constr = System.Configuration.ConfigurationManager.AppSettings[ "AccessConnString "].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings[ "dbPath "]) + "; ";
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(constr);
config
<appSettings>
<add key= "AccessConnString " value= "provider=microsoft.jet.oledb.4.0;data source= " />
<add key= "dbPath " value= "~/admin/Access.mdb " />
</appSettings>
------解决方案--------------------OleDbConnection conn = new OleDbConnection
( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Server.MapPath( "Report.mdb ") + "; ";
Report.mdb与程序放一个文件夹下
------解决方案--------------------OleDbConnection conn = new OleDbConnection
( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://Report.mdb ");
> > >
OleDbConnection conn = new OleDbConnection
( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Report.mdb ");