这几天为了调试一个用ASP+ACCESS做的系统,自己花费了很多的精力在面对调试中遇到的问题,之前没做过还不知调试有多麻烦,还总以为再怎么麻烦也不会烦过在写代码吧, 可结果真的是自己太小看了调试过程。
现我把调试中遇到的一些问题分享下,希望对遇到同样问题的朋友有所帮助。
问题一:书写代码时的疏忽引起,部分代码如下:
dim conn
dim connstr
dim db
db="database/db.mdb"
connstr="Driver={Microsoft Access Driver(*.mdb)};Dbq=" & Server.MapPath(db)
Set conn = Server.CreateObject("ADODB.Connection")
if err Then
err.clear
end if
其中Driver与(*.mdb)之间缺少了一个空格,最后引起调试时出现这样的错误:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
问题二:权限的设置问题,常常出现-----Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x9fc Thread 0xcf4 DBC 0x10d2584 Jet'。
当时出现这样的问题时,自己在网上找了很久,看到很多种说法,自己也照试了很久,可很长时间都没解决,先是什么去除只读属性,给文件添加EVERYONE用户等等很多就是,可照做时问题依然没得到解决,最后,应该说幸运吧,本来不想再改了,无意间又让自己从网上的一个博客中看到了问题的所在:代码还是上面改正过来后的那些,因为我自己的系统是NTFS格式的,所以在权限方面还应该这样设置:除了可能把数据库路径写错了改正过来外,还有就是对系统临时目录访问权限的设置方面,应该把everyone加入到系统临时目录的安全选项中,并给everyone写的权限,记住是系统的临时目录,不是用户的临时目录~如:我的系统是XP的,系统临时目录路径是:C:/windows/temp,其实就是让用户的环境变量temp目录对所有用户可写
问题三:错误类型: Provider (0x80004005) 未指定的错误
我出现这样的错误是在接问题一、问题二后出现的,在自己觉得不在是书写、权限问题时,自己没什么把握的在数据源里新建了一个系统dsn,设置好数据源连接,问题就解决了。
现在真的很高兴,看着困了自己几天的问题终于能解决了,心情真是无比的爽,兴奋之下写下了这些,顺便在此谢谢那些在论坛帮忙指出问题所在的朋友,真的谢谢你们。。。。。。。。