今天在做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,非常不安全
© 版权声明
文章版权归作者所有,未经允许请勿转载。