爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
ASP教程
关于ASP访问ACCESS数据的错误的探讨
关于ASP访问ACCESS数据的错误的探讨
日期:2010-06-04 浏览次数:21006 次
前天,N久以前做的一个ACCESS数据库的程序出错了,程序都没有改动过,之前好好的,突然就不行了。
错误信息如下:
----------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80004005''
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 ''Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet''。
----------------------------------
由于最近一台服务器被人攻击垮掉了正在重装,没时间理这个问题。后来在朋友(是该程序的用户哦)的多翻催促下,决定搞定它。
一开始,还真不摸不清是怎么回事。在GOOGLE上搜了很多,众说纷纭,过滤去一堆没有结果的垃圾信息,得到下面几个可能原因:
1。微软已经不更新ODBC,需要改用JET的方式连接ACCESS数据库文件;
2。系统目录的权限发生的变更。
也有老帖子说什么原因是:“ACCESS数据库文件是ACCESS97版本的”,这个无须考虑,我用的是ACCESS2000数据库。
对于第一个原因,原来的连接字串如下:
--ODBC连接方式------------------------
mdbpath=server.MapPath("my.mdb.asp")
CnnStr = "DBQ=" & mdbpath & ";DRIVER={Microsoft Access Driver (*.mdb)};uid=admin;pwd="
-------------------------------------
改用JET连接后连接字串为:
---JET连接方式---------------------
CnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;User Id=admin;Data Source="& mdbpath &" '';Password=luntanbbs"
-------------------------------------
测试过后无效,虽然提示的错误信息有点不同:
----------------------------------
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误
----------------------------------
最后检查第二个原因:系统目录权限不足。经询问,原来由于出于安全的考虑一同事把该服务器的WINNT目录设置为 Administrators、system “完全控制”,users 只读。
但是,按道理,这样的权限设置,ODBC的驱动程序处于 winnt\system32\odbcjt32.dll 这个也是可读的,难道是因为缺少“执行”权限?
我把 winnt\system32\目录下所有以odbc开头的DLL文件全部授予“执行”权限,发现还是一样的错误信息。跟着我索性把整个 system32 目录设成 everyone 可执行,可是一测试依然不行。
难道是还有其他文件被ODBC或JET调用但又不在这个system32目录下且又没有得到充分授权而导致失败?
正在想的时候,蓦然瞥见 winnt\temp 目录。嘿,我把 temp 目录设置成 everyone 可“写入”看看。
一测试,嘿,成了。使用ODBC连接方式的程序,成功的读取更新ACCESS数据库中的记录。
有意思的是,使用JET连接方式的程序,却报另一个错误:
-------------------------------------------
Microsoft JET Database Engine 错误 ''80040e4d'' 无法启动应用程序。
工作组信息文件丢失,或是已被其它用户以独占方式打开。
-------------------------------------------
嘿嘿,不知道这个JET的错误又怎么回事呢?
有时间再搞搞它吧。如果你知道,请给我发个回复哦。
上一篇:Asp Base64 Unicode编码与解码函数 中文编码使用GB2312方式非UTF-8
下一篇:收藏:ASP的函数详解大汇总
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
ReplaceStyle "id"rs("id"),t_uLoop 哪位高手帮小弟我解释上
ASP实例教程:Session对象
解密“ASP代码加密工具”解决思路
ASP实用大全-ASP基础(4)_ASP基础教程_ASP教程
【Asp.net之旅】-数据绑定控件之Repeater
跟小弟我学aspectj之五 - args带参数的pointcut
请高手帮帮忙,溢出的有关问题
表格创建
成绩排序名次有关问题
推荐阅读
更多>
Asp.Net MVC 系列-进阶篇之Filter
怎么利用asp在字符串中插入空格
60分跪求ASP+FTP上传代码!完整的给满分!该怎么处理
从数据表中取出第 n 条到第 m 条的记录的方法
response.Write("小弟我")报错
最近遇到很郁闷的有关问题(Dreamweaver8)
小弟我想搜索站内信息和论坛信息怎么处理
同时execute两句sql应该怎么获取结果
一样代码ASP运行提示undefined 为空 而直接HTML页面就正常
创建具有JScript的HTML的XMLHTTP
新手求教!该怎么解决
函数整理(变量和转换函数)
怎么保证客户端打开Web系统网页顺畅,点击功能模块不卡不慢
<select>的有关问题
将一个asp页面执行过的生成html代码保存为html文件_ASP FSO专题_ASP教程
howto:send a mail, subject=db_name, body=table_name, get query result as email_ASP邮件系统_ASP教程
浅析Windows2000操作系统中的关机技
HTML中没有<frame>但是小弟我想把页面分成几块怎么处理
正则表达式 应该怎样写?该怎么处理
求解决:ADODB.Recordset '800a0bb9' 参数部类不正确,或不在可以接受的范围之内,或与其他