asp错误 '80040e21' 多步 OLE DB 操作产生错误(asp运行错误如何查看原因)学到了吗

随心笔谈12个月前发布 admin
97 0



今天在做ASP保存数据到MSSQL时出现以下错误提示:

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80040e21’ 多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。 

后经检查是数据类型不对,保存数据长度超过数据库设置的字段长度.

在向数据库写入数据的时候出现了类型不匹配、字段大小超出、锁定模式错误等,或者记录集没有及时关闭。

例如,配置的某一字段长度为15,在sql语句中确试图插入16位的字符;或者试图插入全角半角模式不正确的字段;

或者使用了错误的记录集锁定方式,rs.open sql,conn,x,y,根据某些blog文章显示,修改打开记录集的方式可能会解决这个问题。

原来一直用的正常程序,突然报

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80040e21’

ODBC 驱动程序不支持所需的属性。

查询记录少没问题,记录一多就报这个错误

清理了windows\Temp文件夹、inetpub\temp文件夹,还是不行

在网上一通乱搜

MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)–>sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)

最后发现把应用程序池标识改为LocalSystem就可以了,明显是权限问题,把能想到的文件夹一通改终于好了。

友情提醒:应用程序池标识改为LocalSystem,非常不安全

© 版权声明

相关文章