System.Data.OleDb.OleDbException: Unspecified error异常处理的方法
2010-10-16 15:38:25 来源:WEB开发网关于这个异常我们从以下几个方面讨论:
状况:
昨天做了个项目,在本地测试没事,可是上传到服务器后一开始能访问,不过当我点击的速度变快,或多访问几次就出错,这时我发现只是与数据库交互的页出现这个异常,而其他的静态页都没事,并且当你重启应用程序域或间隔10分钟后左右访问就又没事了。
环境:
这个异常通常会发生在这样的一个环境中:(1)国外的服务器。(2)数据库是access
处理方法:
这里我们先不说这个异常产生的原因先来说说处理这个异常的方法:
第一种:MSDN里的说明,这是因为没有权限在临时目录里写文件而产生的。这种问题的原因:系统temp文件夹访问权限不够修改方法如下:进工具-文件夹选项-查看-把使用简单文件共享(推荐),关掉。然后进windows/temp,单击右键选择-属性,你就会看到一个叫做“安全”的选项,添加一个everyone,权限设置为完全控制,再将你正在使用windows的用户也设置为完全控制,就OK了。
第二种:用ASP.NET的写的WEB程序,当访问量过多后,在登录时就会报错Unspecified error 0x80004005,是连不上数据库了,查找了相关原因,是服务器上IIS向临时文件夹写文件写满了,写不进去了,要重新启动一下服务器,或者要清理临时文件或者调整磁盘空间(用磁盘配额。给IIS帐号:Internet Guest Account在C盘足够大空间的写权限) 或者 把临时文件夹定义到别的足够大的磁盘。
第三种(我们真正用到的):不过我们不能按照他说的那样做,因为我们通常没有操作服务器的权限,所以我们只能从自己的程序上下手,我们要做的是什么呢?那就是尽量显示打开数据库连接,并且显示关闭数据库连接,并且保证打开时间尽可能的短。
异常产生原因:
通常这个异常会发生国外的空间上并且数据库是ACCESS,国内不常见.原因是一般打开国外的空间网速通常会比较慢,打开时间比较长,从而造成数据库的连接打开的时间长,这样当多个用户同时登陆网站就会同时操作数据库,而access的数据库的并发是不好的,所以就出现这个异常
- ››DataGrid中CheckBox绑定bool属性来进行选中判断
- ››SYSTEM用户删除后怎么重新创建和原来SYSTEM默认一...
- ››data/data/目录下的私有数据
- ››System Center 2012 - Unified Installer的系统要...
- ››System.Data.OleDb.OleDbException: Unspecified...
- ››System.Data.SQLite 数据库介绍
- ››SystemServer中启动的android服务
- ››Data Web Services:访问IBM数据库服务器的新方式...
- ››datagridview checkbox控件
- ››DataGridView表尾统计控件3
- ››DataReader与DataSet的区别
- ››System z 的复兴:大型机并未消亡 - 它正转向数据...
更多精彩
赞助商链接