VS.net Asp.net应用程序用oleDbDataAdapter打开Access数据库的问
严格根据MSDN的提示写的程序,出现了以下问题:(这是出错网页显示的内容)
同样的代码我调用Oracle数据库就没有问题!请专家指教!!!!谢谢!!!!
“/zs”应用程序中的服务器错误。
--------------------------------------------------------------------------------
Microsoft Jet 数据库引擎打不开文件'D:\1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'D:\1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
源错误:
行 143: public void FillDataSet(myDataSet dSet)
行 144: {
行 145: oleDbDataAdapter1.Fill(dSet);
行 146: }
行 147: // End of the new code.
源文件: d:\inetpub\wwwroot\zs\component1.cs 行: 145
堆栈跟踪:
[OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'D:\注水网页设计\注水数据库1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
System.Data.Common.DbDataAdapter.Fill(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
zs.Component1.FillDataSet(myDataSet dSet) in d:\inetpub\wwwroot\zs\component1.cs:145
zs.WebForm1.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\zs\webform1.aspx.cs:30
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET 框架版本:1.0.3705.0; ASP.NET 版本:1.0.3705.0
同样的代码我调用Oracle数据库就没有问题!请专家指教!!!!谢谢!!!!
“/zs”应用程序中的服务器错误。
--------------------------------------------------------------------------------
Microsoft Jet 数据库引擎打不开文件'D:\1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'D:\1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
源错误:
行 143: public void FillDataSet(myDataSet dSet)
行 144: {
行 145: oleDbDataAdapter1.Fill(dSet);
行 146: }
行 147: // End of the new code.
源文件: d:\inetpub\wwwroot\zs\component1.cs 行: 145
堆栈跟踪:
[OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'D:\注水网页设计\注水数据库1.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
System.Data.Common.DbDataAdapter.Fill(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
zs.Component1.FillDataSet(myDataSet dSet) in d:\inetpub\wwwroot\zs\component1.cs:145
zs.WebForm1.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\zs\webform1.aspx.cs:30
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET 框架版本:1.0.3705.0; ASP.NET 版本:1.0.3705.0
...全文
请发表友善的回复…
发表回复
KevinListening 2002-05-22
- 打赏
- 举报
to windfun(小宝.NET):
请问我如何修改数据库设置???
数据库设置为不可读是在那里实现的?
请问我如何修改数据库设置???
数据库设置为不可读是在那里实现的?
KevinListening 2002-05-20
- 打赏
- 举报
to acptvb(微软全球技术中心 VB技术支持):
专家,非常感谢您!
但我根据帮助提示作了修改,问题依然存在!以下是所说的三种解决方案:
1、Configure the ASP.NET worker process to run under the SYSTEM account in the <processModel> section of the Machine.config file.
我将machine.config文件的processModel的userName从machine改成System,还是不行。
2、For security reasons, Microsoft recommends that you enable impersonation on your ASP.NET application. This method works if the impersonated user has necessary permissions to the computer and the database that you are accessing.
3、Grant read and write permissions for the "Everyone" group on the database and the database folder. This method is not safe; therefore, Microsoft does not recommend this method.
2、3、两种方法我不知怎样改!为什么按照1建议,解决不了问题呢?
救人救到底,在此表示感谢!!!
专家,非常感谢您!
但我根据帮助提示作了修改,问题依然存在!以下是所说的三种解决方案:
1、Configure the ASP.NET worker process to run under the SYSTEM account in the <processModel> section of the Machine.config file.
我将machine.config文件的processModel的userName从machine改成System,还是不行。
2、For security reasons, Microsoft recommends that you enable impersonation on your ASP.NET application. This method works if the impersonated user has necessary permissions to the computer and the database that you are accessing.
3、Grant read and write permissions for the "Everyone" group on the database and the database folder. This method is not safe; therefore, Microsoft does not recommend this method.
2、3、两种方法我不知怎样改!为什么按照1建议,解决不了问题呢?
救人救到底,在此表示感谢!!!
windfun 2002-05-20
- 打赏
- 举报
是不是数据库设置为了不可读??
acptvb 2002-05-19
- 打赏
- 举报
感谢您使用微软产品。
出于安全性的考虑,ASP.NET缺省运行在ASPNET帐号下,如果ASPNET帐号对您的MDB文件没有读/写的权限,就有可能发生您所遇到的错误。关于该问题的具体描述及可选的解决方法,您可以参考以下文档:
PRB: Cannot Connect to Access Database from ASP.NET (Q316675)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q316675
- 微软全球技术中心 VB技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
出于安全性的考虑,ASP.NET缺省运行在ASPNET帐号下,如果ASPNET帐号对您的MDB文件没有读/写的权限,就有可能发生您所遇到的错误。关于该问题的具体描述及可选的解决方法,您可以参考以下文档:
PRB: Cannot Connect to Access Database from ASP.NET (Q316675)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q316675
- 微软全球技术中心 VB技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
KevinListening 2002-05-17
- 打赏
- 举报
to sumanden(心头慌,打中张):
我自己建的mdb文件怎么会没有权限?而且我也没有设密码!
我用同样的代码调用Oracle数据库就没有问题!
我自己建的mdb文件怎么会没有权限?而且我也没有设密码!
我用同样的代码调用Oracle数据库就没有问题!
「已注销」 2002-05-17
- 打赏
- 举报
我这里完全正常
string SQLStatement="SELECT *FROM table ";
string MyConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dt/mydata.mdb";
OleDbConnection myConnection=new OleDbConnection(MyConnString);
OleDbDataAdapter myCommand = new OleDbDataAdapter(SQLStatement,myConnection);
myCommand.SelectCommand.CommandType=CommandType.Text;
myDataSet = new DataSet();
myCommand.Fill(myDataSet, "table");
string SQLStatement="SELECT *FROM table ";
string MyConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dt/mydata.mdb";
OleDbConnection myConnection=new OleDbConnection(MyConnString);
OleDbDataAdapter myCommand = new OleDbDataAdapter(SQLStatement,myConnection);
myCommand.SelectCommand.CommandType=CommandType.Text;
myDataSet = new DataSet();
myCommand.Fill(myDataSet, "table");
「已注销」 2002-05-17
- 打赏
- 举报
那你没有权限,或mdb文件有密码
KevinListening 2002-05-17
- 打赏
- 举报
没有!我把所有的应用程序都关了,只打开网页。还是出现上面的问题!
aben527cn 2002-05-17
- 打赏
- 举报
是不是你的ACCESS数据库正在用ACCESS编辑?
编辑的时候是不能进行操作的
编辑的时候是不能进行操作的