|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先我们要知道,或许有一项技术存在很多理由让我们可以选择使用MySQL学习教程,但是让我们不使用它往往只要有一个理由就足够了。这篇论坛文章侧重先容了Access数据库呈现0x80004005成绩的办理办法,更多内容请参考下文:这篇论坛文章侧重先容了Access数据库呈现0x80004005成绩的办理办法,更多内容请参考下文:
项目做了三个月了,终究也差未几完成了,今天交往测试,了局呈现了上面如许的成绩:
[OleDbException(0x80004005):Unspecifiederror]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32hr)+20
System.Data.OleDb.OleDbConnection.InitializeProvider()+57
System.Data.OleDb.OleDbConnection.Open()+203
Webb.WAVE.Controls.OleDBManager.FillDataTable(DataTablei_dataTable)+85
Webb.WAVE.Controls.WaveExpire.LoadExpireDateForClient(DataTablei_table,Int64i_clientID)+189
Webb.WAVE.inc_Client_AccessManage.LoadExpireDate(Stringi_sortKey)+99
Webb.WAVE.inc_Client_AccessManage.Page_Load(Objectsender,EventArgse)+85
System.Web.UI.Control.OnLoad(EventArgse)+67
System.Web.UI.Control.LoadRecursive()+35
System.Web.UI.Control.LoadRecursive()+98
System.Web.UI.Control.LoadRecursive()+98
System.Web.UI.Page.ProcessRequestMain()+750
申明一下:这个毛病总会在运转一段工夫后呈现,而等一会工(不定几工夫),大概从头启动IIS大概服务器,这个成绩就办理了。而再运转一会又会(工夫愈来愈短)呈现这个成绩。
而我在本人的电脑是运转时,基础上没呈现如许的成绩,因而重复的查找缘故原由,不得其解,在MSDN里找到了三篇相干的文章:个中这一篇另有点事理:
SYMPTOMS
WhentryingtoconnecttoanAccess.mdbfile,anODBCerrorisreturnedstating"DiskorNetworkError".TheMicrosoftOLEDBProviderfortheMicrosoftJetdatabaseenginemayalsoreturnan"Unspecifiederror"(errorcode=0x80004005)message.
TheproblemcanoccuronlywhenthedatasourceisopenedundertheMicrosoftInternetInformationServer(IIS)oraMicrosoftWindowsNTservicebutnotunderalogged-onuseraccount.CAUSE
Jetcreatesatemporaryfilewhentheengineisstarted.Indoingso,itfirstcheckstheTMPenvironmentvariableandusesthatpathtodefinewherethetemporaryfileiscreated.IfitdoesntseeaTMPenvironmentvariable,itlooksfortheTEMPenvironmentvariable.IfTEMPisnotdefined,itthenusestheWindowsfolder(WINDOWSorWINNT).
IfTMP/TEMPisdefinedbutpointstoanonexistentfolder,theerroroccurs.
Moreover,whenopeningtheAccessdatabasethroughIISoraWindowsNTservice,andwhenIISortheserviceisrunningunderthelocalsystemaccount,theTMPorTEMPsystemenvironmentvariableisused.WhentheWebservicesorWindowsNTservicearestartedusingauseraccount,theTMP/TEMPuserprofileenvironmentvariablesisused.RESOLUTION
DefineaTMPorTEMPenvironmentvariableandassignthevariabletoanexistingfolder.IfyouareaccessingtheAccessdatabasefromIIS,becertaintocheckthesystemenvironmentsettingsratherthanenvironmentvariablesofthelogged-onuser.AlsoensurethattheIUSERanonymousIISaccounthasaccesstothetemporaryfolder.
Youmustrestartthecomputerafterchanginganyenvironmentvariables.
EnvironmentvariablesaresetunderWindowsNT4.0bygoingtotheControlPanelandclickingSystemandthenselectingtheEnvironmenttab.
但是我不解的是,为何在前几个礼拜的测试中没有这个成绩,而在比来几天,呈现的愈来愈频仍呢?
在网上找了几篇相干的文章(有很多多少论坛上的帖子也有会商这个成绩的,但我没能找到办理谜底):
思索几小工夫后,我想会不会是不克不及创建一时文件的缘故原由呢?实在只需能让毛病在我本人的电脑上呈现,那我就好办了,但成绩是,只是偶而呈现在我的电脑上,并且很快就行了,从头至尾都只呈现过两三次。但在服务器上却呈现成绩愈来愈多了,几分钟就不可了。依据后面的一些文章来剖析,我决意做以下一个测试:
1、删除IIS在Windows下的帐号(InternetGuestAccount)的文件写权限固然,只对项目标目次。
2、同时也删除它在一时目次(C:DocumentsandSettingsWEBB-COUNTRY-WUASPNETLocalSettingsTemp,不的呆板一切分歧)的写权限。
好了,终究在我的电脑上也呈现了一样的毛病,并且一切的与数据库相干的页面都不克不及会见。并且依据MSDN里的申明,这是由于没有权限在一时目次里写文件而发生的,与之不异。但是,成绩又在于,服务器上的并非一向毛病,而是一时毛病一时一般。
独一能够注释的就是服务器一时文件满了!!!!而这又欠好证实,我不成能一向测试,让我的一时文件也满了(就算是COPY文件光临时目次里,也不克不及算是IIS帐号的,而是操纵者的),并且一时文件它本人(OLEDB的链接线程)也会删除的。只好别的想举措,就是用磁盘配额。给IIS帐号:InternetGuestAccount在C盘只要10K的写权限,然后测试,公然成绩准期而致。。。。。。
到此,能够一定:服务器上的一时文件太多了,看来是要从头启动一下服务器,大概要清算一时文件大概调剂磁盘空间了……
但愿这篇文章能匡助那些还没有办理成绩的人。同时,MS网站及MSDN上的几篇文章也都还很有匡助意义的,出格是申明的别的几个毛病缘故原由。
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。 |
|