“/12315”应用程序中的服务器错误。
--------------------------------------------------------------------------------Microsoft Jet 数据库引擎打不开文件'D:\shiyan\12315\db125\12315.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'D:\shiyan\12315\db125\12315.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。源错误: 
行 65:    long zhong=0;
行 66:    olecomm.CommandText="select id from cixun";
行 67:    olecomm.Connection.Open();
行 68:    OleDbDataReader dr=olecomm.ExecuteReader();
行 69:    while(dr.Read())
 源文件: d:\shiyan\12315\cixun.aspx.cs    行: 67 堆栈跟踪: 
[OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'D:\shiyan\12315\db125\12315.mdb'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。]
   System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
   System.Data.OleDb.OleDbConnection.InitializeProvider() +57
   System.Data.OleDb.OleDbConnection.Open() +203
   _12315.cixun.Page_Load(Object sender, EventArgs e) in d:\shiyan\12315\cixun.aspx.cs:67
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +731to loulanlouzhu(桃花潭水深千尺,不及阿勇念你情) 如果用sql数据库的话,一点问题也没有。
说明已经添加asp.net用户了
 

解决方案 »

  1.   

    面且,那个数据库就是在使用,但是它是被ns.net占用。附上我的源代码!大家给看一看那个地方错了呀!
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace _12315
    {
    /// <summary>
    /// cixun 的摘要说明。
    /// </summary>
    public class cixun : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.Button Button2;
    protected System.Web.UI.WebControls.Button Button3;
    protected System.Web.UI.WebControls.TextBox id;
    protected System.Web.UI.WebControls.TextBox shidate;
    protected System.Web.UI.WebControls.TextBox shitime;
    protected System.Web.UI.WebControls.TextBox cname;
    protected System.Web.UI.WebControls.TextBox cphone;
    protected System.Web.UI.WebControls.TextBox cyi;
    protected System.Web.UI.WebControls.TextBox caddr;
    protected System.Web.UI.WebControls.TextBox pname;
    protected System.Web.UI.WebControls.TextBox paddr;
    protected System.Web.UI.WebControls.TextBox xlei1;
    protected System.Web.UI.WebControls.TextBox xlei2;
    protected System.Web.UI.WebControls.TextBox xlei3;
    protected System.Web.UI.WebControls.TextBox cfen1;
    protected System.Web.UI.WebControls.TextBox cfen2;
    protected System.Web.UI.WebControls.TextBox cfen3;
    protected System.Web.UI.WebControls.TextBox neirou;
    protected System.Web.UI.WebControls.TextBox changbiao;
    protected System.Web.UI.WebControls.TextBox cemail;
    protected System.Data.OleDb.OleDbConnection conn;
    protected System.Web.UI.WebControls.TextBox pphone;
    protected System.Web.UI.WebControls.TextBox guanjie;
    protected System.Web.UI.WebControls.RadioButton lei0;
    protected System.Web.UI.WebControls.RadioButton lei2;
    protected System.Web.UI.WebControls.RadioButton lei1;
    protected System.Data.OleDb.OleDbCommand olecomm;
    protected System.Web.UI.WebControls.RadioButton RadioButton1;
    protected System.Web.UI.WebControls.RadioButton RadioButton2;
    protected System.Web.UI.WebControls.RadioButton RadioButton3;
    protected System.Web.UI.WebControls.RadioButton RadioButton4;
    protected System.Web.UI.WebControls.RadioButton RadioButton;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
    protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
    protected System.Web.UI.WebControls.Button Button4;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面 if(!IsPostBack)
    {
      conn.Close();
      long zhong=0;
      olecomm.CommandText="select id from cixun";
      olecomm.Connection.Open();
      OleDbDataReader dr=olecomm.ExecuteReader();
      while(dr.Read())
      {
     if(Convert.ToInt16(dr["id"])>zhong)
     zhong=Convert.ToInt16(dr["id"]);
      }
    dr.Close();     olecomm.Connection.Close();

    id.Text=(zhong+1).ToString();
    shidate.Text=DateTime.Now.ToString("d");
    shitime.Text=DateTime.Now.ToLongTimeString();
    }
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.conn = new System.Data.OleDb.OleDbConnection();
    this.olecomm = new System.Data.OleDb.OleDbCommand();
    this.Button2.Click += new System.EventHandler(this.Button2_Click);
    // 
    // conn
    // 
    this.conn.ConnectionString = @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source=""D:\shiyan\12315\db125\12315.mdb"";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False";
    // 
    // olecomm
    // 
    this.olecomm.Connection = this.conn;
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button2_Click(object sender, System.EventArgs e)
    {
    string shijie=DateTime.Now.ToString();
    string leibie=lei0.Text;
    bool[] lei=new bool[3];
       lei[0]=lei0.Checked;
       lei[1]=lei1.Checked;
       lei[2]=lei2.Checked;
    if(lei[1])leibie=lei1.Text;else if(lei[2])leibie=lei2.Text;
    string sqltext="insert into cixun(shijie,cname,cphone,cyi,caddr,cemail,pname,paddr,pphone,leibie,changbiao,xlei,cfenlei,guanjie,neirou,dafu) values('"+shijie+"','"+cname.Text+"','"+cphone.Text+"','"+cyi.Text+"','"+caddr.Text+"','"+cemail.Text+"','"+pname.Text+"','"+paddr.Text+"','"+pphone.Text+"','"+leibie+"','"+changbiao.Text+"','"+xlei1.Text+"','"+cfen1.Text+"','"+guanjie.Text+"','"+neirou.Text+"','咨询')";
    olecomm.CommandText=sqltext;
    olecomm.Connection.Open();
    olecomm.ExecuteNonQuery();

    olecomm.Connection.Close();
    id.Text=(Convert.ToInt16(id.Text)+1).ToString();
    Response.Write("<script language='JavaScript'>alert('成功输入')</script>"); } }
    }
      

  2.   

    就你这段代码看不出来直接导致出现上述错误的根源所在,不过有潜在导致的原因,希望用try {} finally{ olecomm.Connection.Close(); } 这样可以为自己少点麻烦;
    还有
    if(!IsPostBack)
    {
      conn.Close(); ....
    这里不知道你为什么要用。。
    知道有没有程序已经打开你你的这个数据库,看看这个数据库所在的目录就知道,如果被打开了,可以看到一个 数据库名称.ldb 的文件。。
      

  3.   

    回楼上的,用那个代码是在每一次找开的时候都报那个错。没法我就加了一个,看行不,还是不行,就是重起机子也不行。我输入127.0.0.1\所在文件
    这样来运行我的页面,也报那个错,并且在数据库所在目录没有.ldb文件.
      

  4.   

    再有就是因它报错说是有可权限不够,
    我在.mdb文件上点右键里的安全,对"Eveyone"这个帐号附于了,写入的权限生,报错出现了下面的情况“/12315”应用程序中的服务器错误。
    --------------------------------------------------------------------------------不能锁定文件。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 不能锁定文件。源错误: 
    行 66:    long zhong=0;
    行 67:    olecomm.CommandText="select id from cixun";
    行 68:    olecomm.Connection.Open();
    行 69:    OleDbDataReader dr=olecomm.ExecuteReader();
    行 70:    while(dr.Read())
     源文件: d:\shiyan\12315\cixun.aspx.cs    行: 68 堆栈跟踪: 
    [OleDbException (0x80004005): 不能锁定文件。]
       System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) +20
       System.Data.OleDb.OleDbConnection.InitializeProvider() +57
       System.Data.OleDb.OleDbConnection.Open() +203
       _12315.cixun.Page_Load(Object sender, EventArgs e) in d:\shiyan\12315\cixun.aspx.cs:68
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
      

  5.   

    哈哈。刚刚我也碰到了。
    不过不知道原因。感觉我*.mdb拷贝到了几个地方都有,因为几个实验的都要连着这个数据库,原意是连各自目录下的,省得改代码。不过我发现有oledbconnection连着别的目录里的。