请看这个错误该如何更正呢?

cyAnalyst 2004-10-13 07:38:27
Microsoft Jet 数据库引擎打不开文件'G:\WebRoot\CarBuyer\Cars.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'G:\WebRoot\CarBuyer\Cars.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
...全文
111 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2004-10-13
  • 打赏
  • 举报
回复
.Net 1.* doesn't support ADO, you need to add a reference to the ado library, see an example at

http://support.microsoft.com/default.aspx?scid=kb;EN-US;309485
cyAnalyst 2004-10-13
  • 打赏
  • 举报
回复
顺便问一下,如果要改为使用ADO,而不是OLEDB,该引用什么名字空间呢?
cyAnalyst 2004-10-13
  • 打赏
  • 举报
回复
呵呵解决了。
原来是连接字符串太多的缘故。呵呵,感谢各位的参与,尤其是saucer(思归) 大侠的提示。
saucer 2004-10-13
  • 打赏
  • 举报
回复
simplify your connection string

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBaseFileName ;

also

1。先确认你退出ACCESS了
2。if it needs password, 设置连接的 Jet OLEDB:Database Password=你的密码

also 参考
http://www.connectionstrings.com/

http://www.microsoft.com/technet/prodtechnol/office/office2000/proddocs/opg/part4/ch18.mspx
bushido 2004-10-13
  • 打赏
  • 举报
回复
尽量不要使用OleDataReader , 改用DataSet
cyAnalyst 2004-10-13
  • 打赏
  • 举报
回复
有关数据库操作的代码如下:
namespace CarBuyer
{
/// <summary>
/// Summary description for DataSource.
/// </summary>
public class CarsDataSet
{
private DataSet mvarDataSet;
private OleDbConnection mvarConnection;

public CarsDataSet(string DataBaseFileName)
{
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source=" + DataBaseFileName + ";Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
this.Connection = new OleDbConnection(ConnectionString);
}

public OleDbConnection Connection
{
get { return mvarConnection; }
set { mvarConnection = value;
GetTables();
}
}

void GetTables()
{
OleDbCommand sc = new OleDbCommand();
DataTable dt;

mvarDataSet = new DataSet("Cars");

sc.Connection = mvarConnection;
mvarConnection.Open();

sc.CommandType = CommandType.TableDirect;

GetTable(sc, "Manufacturers");
GetTable(sc, "Models");
GetTable(sc, "Options");
GetTable(sc, "Colors");

DataRelation dr;
dr = new DataRelation("Cars", Manufacturers.Columns["ID"], Models.Columns["ManufacturerID"], false);
mvarDataSet.Relations.Add(dr);

}

void GetTable(OleDbCommand sc, string TableName)
{
OleDbDataAdapter da = new OleDbDataAdapter();
sc.CommandText = TableName;
da.SelectCommand = sc;
da.Fill(mvarDataSet, TableName);
}

public DataTable Manufacturers
{
get { return mvarDataSet.Tables["Manufacturers"];}
}

public DataTable Options
{
get {return mvarDataSet.Tables["Options"]; }
}

public DataTable Colors
{
get {return mvarDataSet.Tables["Colors"]; }
}

public DataTable Models
{
get {return mvarDataSet.Tables["Models"]; }
}


public DataSet ManufacturerToModelHierarchy
{
get {return mvarDataSet;}
}
}

}
在下面这个位置出错
行 35:
行 36: sc.Connection = mvarConnection;
行 37: 错误 mvarConnection.Open();
行 38:
行 39: sc.CommandType = CommandType.TableDirect
cyAnalyst 2004-10-13
  • 打赏
  • 举报
回复
我得操作系统是2003,在2000下没有问题,但是在2003下面就出上面描述的错误
happyjun2000 2004-10-13
  • 打赏
  • 举报
回复
还有你看一下你的mdb 文件是不是只读的
happyjun2000 2004-10-13
  • 打赏
  • 举报
回复
你试一下是否是可以读,但是不能写,如果是就是权限的问题,你可以添加aspnet用户,并设置对应的权限。
cyAnalyst 2004-10-13
  • 打赏
  • 举报
回复
根本就没有打开过这个mdb文件。
DigJim 2004-10-13
  • 打赏
  • 举报
回复
你的文件应该没有被打开吧!你访问这个文件的权限检查一下,如果使用ASP.net就要确认,aspnet这个用户有权限!
brightheroes 2004-10-13
  • 打赏
  • 举报
回复
关掉这个Access

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧