Asp 操作Access数据库时出现死锁.ldb的解决方法
问题:
最近经常用的asp网站“搬家”到一个昂贵的服务器时候,出现这个问题,访问后台时候,出现数据库错误的字样,在ftp登陆后发现原来的后缀MDB文件多了一个后缀LDB文件,百度搜了原来是自动被锁,于是搜到一下相关文章,目前还在处理,不知道一下的文章能否解决这个问题,先收藏
在一天某个时间段内打不开,等待好几分钟就会说asp脚本超时,但FTP可以登陆进去,查看数据库目录时,发现与数据库(数据库是access数据库)同名的记录锁定信息文件(.ldb文件)一直都在那里于是我登陆主机的管理面板,重启了网站服务,ldb文件就消失了,网站打开也正常了,但过了数小时后,网站又再次出现以上情况。
原因:
ldb的文件是ACCESS读写的时候的临时文件,当前台asp调用网站数据库的时候就会自动产生ldb文件,调用结束后就没有了!
可当有时访问量大的时候(或数据量大),asp程序运行时间太长(有时会超过iis所设置的asp超时时间),这时,服务器会结束掉asp进程,而asp所打开的ldb文件则卡在那里关不掉了!所以就会“卡”。
解决方法:
一.服务器空间改进:
你的程序多,数据库多,IIS要使用不限制的,并且CPU分配的要多一点好,否则依然会“卡”。
如果你的这些程序放在**的服务器上,是没问题的。但是一般的空间可能就不行了,别人不卡是因为别人就一个博客程序,建议更换资源分配较高的空间。
.ldb的文件是ACCESS读写的时候的临时文件,只要读写ACCESS文件就会生成.
对于个人站来说还是合租服务器划算买空间做个人站只适合做着玩玩,要投广告运做的话还是要用服务器.
另外一方面就是尽量优化你的页面.比如生成静态页面了(你的CPU占用少才1%)静态页面相对好点.再或者用什么DIC+CSS做页面呀这样不怕你卡了.最少访客不会盯着你的大白页面呆着.
二.访问数据库的程序优化:
在百度上搜索了一下这方面的情况,结果也不少,总结下来主要都是因为对数据库存取完后,没有及时释放记录集和断开数据库连接,以下谈谈操作Access数据库的标准方法:
1、数据库连接方法:Conn.asp
<%
dim conn
dim connstr
dim db
db="database/data.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&db&"")
conn.Open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "服务器正在维护,请稍后再试。"
Response.End
End If
Sub CloseConn()
'以下是断开数据库连接语句
conn.close
set conn=nothing
End Sub
%>
2、关闭释放记录集
rs.close
set rs=nothing
3、断开数据库连接
conn.close
set conn=nothing
结合以上三个内容,得出以下操作Access数据库的标准方法 Test.asp
<!--#include file="conn.asp"-->
<%
sql="select * from table order by id"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if not rs.eof then
tel=rs("tel")
fax=rs("fax")
end if
'以下关闭并释放记录集语句
rs.close
set rs=nothing
'调用断开数据库连接子函数
Call CloseConn()
%>
三.排除上面的原因之后.
用ACCESS打开你的数据库,选择菜单中的[工具]->[选项]->[高级]
更改[默认打开模式]为[共享],更改[默认记录锁定]为[不锁定].
如仍然不行将下面的选项[使用记录级锁定]也取消.
确定后保存,然后打开,修复/压缩数据库.
删除目录中的LDB文件(如无法删除,先结束相关进程或重新启动计算机删除即可)
Asp 操作Access数据库时出现死锁.ldb的解决方法相关推荐
- 转:关于ASP操作Access数据库时出现死锁.ldb的解决方法
Asp操作Access数据库时出现死锁.ldb导致网站访问缓慢的问题描述 最近asp网站出现数据库错误,在ftp登陆后发现原来的后缀MDB文件多了一个后缀LDB文件,是自动被锁,在一天某个时间段内打不 ...
- 使用C#操作ACCESS数据库时提示 “FORM子句语法错误”。
C#操作ACCESS数据库时提示 "FORM子句语法错误 错误提示和代码原文如图所示 OleDbConnection oleDbConnection = new OleDbConnectio ...
- 防止ACCESS数据库被下载的一个通用解决方法:
防止ACCESS数据库被下载的一个通用解决方法: 在IIS里面 Web站点的属性, 主目录=>配置=>应用程序影射=>添加 随便做一个0字节的dll 用来影射mdb文件. 明白了吧? ...
- mysql连接数据库出现1251错误_连接MySQL数据库时出现#1251错误的解决方法
连接MySQL数据库时出现#1251错误的解决方法 连接MySQL数据库时常会出现如下的错误提示: #1251 - Client does not support authentication pro ...
- 最简单的asp.net 操作 access 数据库方法
在asp.net中,使用C#操作access的mdb数据库,简单实用,只需要几步就可以实现. 1.新建一个asp.net网站,作为整个程序的表现层,里面的aspx文件可以调用其他层的项目. 2.建立一 ...
- 直接通过ADO操作Access数据库(修改版)
自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序.关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了.让我们直接步入主题:如何掌握 ...
- DELPHI中操作ACCESS数据库
DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功. //在之前u ...
- VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
VB.NET 使用 OleDb 操作 Access 数据库 这里采用 OleDb 方式对 Access 数据库进行访问,主要内容都来自 MSDN 帮助文档.建议新手注意 MSDN 的用途.下面的代码只 ...
- 学习记录:VB.NET.操作ACCESS数据库
从98年到现在,VB6使用了20多年,真的舍不得扔掉,但是随着新计算机预装操作系统的版本越来越高,做好的安装包在安装时遇到的问题越来越多,无奈之下只能转向使用VB.NET了.安装了VS2005来学习, ...
最新文章
- Spring-常见问题25问
- 一次DeleteInsert引发的Mysql死锁
- IBM® Bluemix 上运行ASP.NET Core
- 重点客户销售数据分析python_药品销售数据分析--python
- 上海区块链会议演讲ppt_所以您想参加会议演讲吗? 这是我的建议。
- H.264码率控制机制
- iphone 低版本渲染不出来内容的一种解决办法
- Atitit. null错误的设计 使用Optional来处理null
- yii2组件之多图上传插件FileInput的详细使用
- 微信小程序最基本代码入门
- 热门论坛排行top100--2010年07月11日[转]
- oracle创建数据库实例
- 微信机器人API开发
- PHP中的SAPI是什么,都有那些模式?
- [JAVA安全webshell]冰蝎jsp木马分析
- 高通Camera驱动(2)-- openinitialize
- 动视暴雪宣布裁员约8% 780多名员工将被裁-千氪
- 【嵌入式】网络编程_pthread_fork
- java.lang.Integer connot be cast to class java.lang.String
- XBee zigbee 使用指南---XBee API模式介绍