PRB:ASP 返回“Operation Must Use an Updateable Query”(操

2016-02-19 19:28 19 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的PRB:ASP 返回“Operation Must Use an Updateable Query”(操教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

  症状
  当您将 ActiveX 数据对象 (ADO) 与 Active Server Pages (ASP) 一起使用时,可能会遇到以下常见错误:
  Microsoft OLE DB Provider for ODBC Drivers error '80004005'
  [Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an updateable query.

  原因
  本文阐述导致此错误的四种主要原因及相应的替代方法。尽管本文讨论的是 Microsoft Access 数据库,但此处提供的信息也适用于其他类型的数据库。

  解决方案
  当您的脚本试图执行更新或执行会更改数据库中的信息的其他某种操作时,通常会遇到此错误。出现此错误的原因是 ADO 由于以下某种原因而无法写入数据库:

  1. 最常见的原因是 Internet 来宾帐户(IUSR_MACHINE,默认情况下该帐户属于“Everyone”组)对数据库文件 (.mdb) 没有写权限。要解决此问题,请使用 Explorer 中的“安全”选项卡来调整此文件的属性,以便 Internet 来宾帐户具有正确的权限。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  注意:在将 Microsoft Access 数据库与 ADO 一起使用时,还必须授予 Internet 来宾帐户对包含 .mdb 文件的目录的写权限。这是因为 Jet 会创建一个用于处理数据库锁定的 .ldb 文件。由于 Jet 可能会在“Temp”目录中创建临时文件,因此您可能还需要授予对该文件夹的读/写权限。
  2. 出现此错误的第二个原因是数据库不是使用具有写权限的正确模式打开的。如果您对 Connection 对象执行 Open 操作,则应使用 Mode 属性指示对该连接所拥有的权限,如下所示:
        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. 最后一个问题和替代方法适用于所有 SQL 数据源。违反数据库的引用完整性的 SQL 语句可以导致出现此错误。下面是一些最常见的失败的查询:
  • 其中最简单的一组查询是以下您无法更改的查询:UniqueValue 属性设置为 Yes 的交叉表查询、SQL 传递查询、联合查询或更新(即生成表)操作查询。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

   
  • 另一种非常常见的原因是联接包含的链接 ODBC 表的索引不是唯一的。在这种情况下,SQL 无法保证表中的记录是唯一,该表中字段的值将随查询发生更改。

   
  • 有一种原因确实有可靠的替代方法。如果您尝试更新“一对多”查询的“一”方的联接字段,操作将会失败,除非您启用级联更新。因为这样您就可以将引用完整性委托给 JET 引擎。 

来源:http://www.tulaoshi.com/n/20160219/1621102.html

延伸阅读
错误编号:1065 问题分析:无效的 SQL 语句,SQL 语句为空。 解决方法: 检查所执行的 SQL 语句是否为空。如果为空,请设置需要执行的数据库操作语句。如果您是由于安装插件或者修改代码造成此错误,请重新上传程序。
标签: 布艺diy 布艺
The Must Stash是由两位艺术家拥有和经营,Lisa和平面设计师Glenn,他们两做的产品设计大部分是由于美丽事物给予的启发,从他们精心设计的作品中,会找到很酷的创意。
问题没处理 'xmlfile = "???.xml" Set xml = Server.CreateObject("MSXML.DOMDocument") xml.async = false xml.load(xmlfile) Public Function PrettyPrint(node,tabLevel)on error resume next If node.nodeName vbNullStrin And node.nodeName "#text" Then PrettyPrint = PrettyPrint & tabLevel & &q...
标签: Web开发
Create a SQL Server database. 代码如下: DB_SIZE_IN_MEGABYTES = 5 strDBServerName = "." Set objSQLServer = CreateObject("SQLDMO.SQLServer") objSQLServer.LoginSecure = True objSQLServer.Connect strDBServerName Set objDB = Create...
原理 QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CACHE。 不过SQL文本...

经验教程

137

收藏

37
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部