asp连接 Access 数据库时错误解决办法

错误类型一:


Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。

错误类型二:

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'。


         当你使用ASP连接 Access 数据库时可能会出现这种情况,为什么呢?因为你数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?

         找到数据库所在目录,也可以是上层目录,然后设置文件夹 属性----安全----添加----查找----IUSER_你的机器名----添加

这时你的用户里会多出来一个Internet来宾用户,在权限里勾上修改、写入。至此,问题解决,你可以再运行一下看看是否解决了问题。


         附:对于Windows XP的用户,在默认情况下,Windows XP使用了简单文件共享方法,所以,当你点 属性 的时候是看不到 安全 选项卡的。具体操作如下:


         我的电脑-->文件夹选项-->查看-->取消 使用简单文件共享(推荐) 的勾选 即可。你查看一下你要更改文件夹的属性,是不是多了一个 安全 选项卡呢?


        附:错误类型二也可能是你的数据库路径不对


下面是虚机维护中,经常碰到的一些ASP程序中的数据库调用的错误,现收集整理如下:

ADODB.Recordset 错误 '800a0bb9' 变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

产生错误可能原因:

1.这个错误多出现在类似语句处:“rs.Open sql,conn,1,1”,原因是数据库连接conn对象未打开。

――――――――――――――――――――――――――――――――――――

不能打开注册表关键字(8007000e)

Microsoft OLE DB Provider for ODBC Drivers 错误 '8007000e'

[Microsoft] [ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile)  Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet'。

产生错误可能原因:

1.打开数据库时写法不对,标准的ACCESS数据库调用写法:

"driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB")

2. 正在上传数据库文件。


――――――――――――――――――――――――――――――――――――

参数不足,期待是 1 (80040e10)

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。


产生错误可能原因:

1.打开数据的SQL查询语句WHERE后面条件子句有问题,一般是缺少逻辑比较符号或者是字段名不正确。

――――――――――――――――――――――――――――――――――――

一般性网络错误。请检查网络文档(80004005)

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]一般性网络错误。请检查网络文档。


产生错误可能原因:

1.数据库连接书写不正确,可能数据库名、服务器名错误。

2.数据库服务器重启中。

――――――――――――――――――――――――――――――――――――

不能使用 '';文件已在使用中(80004005)

Microsoft JET Database Engine 错误 '80004005'

不能使用 '';文件已在使用中。


产生错误可能原因:

1.文件可能正被占用:上传、压缩、打包。

2.可能程序代码中形成了嵌套包含,重复包含的数据库调用文件。


――――――――――――――――――――――――――――――――――――

不能更新。数据库或对象为只读/操作必须使用一个可更新的查询 (80004005)

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。

产生错误可能原因:

1.数据库文件权限不够。

2.文件占用空间达到磁盘限额上限。

――――――――――――――――――――――――――――――――――――

未发现数据源名称并且未指定默认驱动程序(80004005)

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

产生错误可能原因:

1.使用了ODBC连接数据库,服务器上没有配置ODBC数据库,改用OLEDB的标准调用方式:

"Driver={SQL Server};Database=dbname;Server=srv;Uid=user;Pwd=pd"可以解决


Provider 错误 '80004005'

――――――――――――――――――――――――――――――――――――

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

未指定的错误

/pcn/conn.asp,行8


产生错误可能原因:


1.从出现错误的页面名称来看,是连接数据库时出现的问题。最大的可能是无法连接数据库,和上面“一般性网络错误。。。”是同性质的问题。这时需要检查数据库服务器是否正常。这类错误一般出现在连接 MS SQLServer 数据库上。


ADODB.Recordset 错误 '800a0e7d'

――――――――――――――――――――――――――――――――――――

ADODB.Recordset 错误 '800a0e7d'

连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。

/index.asp,行 9


产生错误可能原因:


1.在程序中使用了一个已经关闭或者是还没打开的数据库连接。


Server.CreateObject 失败

――――――――――――――――――――――――――――――――――――

服务器对象 错误 'ASP 0177 : 800401f3'

Server.CreateObject 失败

/xxxxx.asp,行155

无效的 ProgID。 若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp

产生错误可能原因:

1.该错误多数出现在创建组件时,说明程序使用的组件,服务器不支持,需要注册所用的组件。常见于各种使用了上传组件的ASP页面。


“无法从指定的数据表中删除”可能是多表关系造成,但我这里是权限问题,在资源管理器下把数据库目录权限设置为everyone可读写,iis下设置此目录ip拒绝所有即可