欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP中数据库调用中常见错误的现象和解决

程序员文章站 2022-03-26 09:28:37
下面是虚机维护中,经常碰到的一些asp程序中的调用的错误,现收集整理如下:不能打开注册表关键字(8007000e)  microsoft ole db provider for odbc drive...
下面是虚机维护中,经常碰到的一些asp程序中的调用的错误,现收集整理如下:

不能打开注册表关键字(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. 正在上传数据库文件。

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

一般性网络错误。请检查网络文档(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.文件占用空间达到磁盘限额上限。

  当提示“操作必须使用一个可更新的查询”时有几个主要的错误原因:这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为ado由于以下的几个原因而不能够写数据库造成的。

  1.最普遍的原因是匿名用户帐号(iusr_machine)对该数据库文件没有写权限。要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。当使用access数据库时,不仅要给文件写的权限,还要给该目录写的权限,因为jet需要在该目录建立一个.ldb文件。

  2.第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。

  sql = "update products set unitprice = 2;"
  set conn = server.createobject("adodb.connection")
  conn.mode = 3 3 = admodereadwrite
  conn.open "mydsn"
  conn.execute(sql)
  conn.close

  注意默认的mode是设置0(admodeunknown),它是允许更新的。

  3.还有可能是在odbc管理器中将该dsn的只读选项选中。

  4.你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新这两个表中各自字段。

  5.当你使用了一个从低版本中(如access2.0,access7.0)载入到高版本(access 2000)中的查询时,在执行这个查询是会出现该错误。

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

未发现数据源名称并且未指定默认驱动程序(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"可以解决。