LE DB 错误跟踪[OLE/DB Provider 'MICROSOFT.JET.OLEDB.4.0' IUnknown::QueryInteerface returned 0x800040
Provider=Microsoft.Jet.OLEDB.4.0
微乳access 数据库引擎4.0
“Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 错误的解决办...
错误类型一:
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'。
错误类型三:
“Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 操作必须使用一个可更新的查询”
-------------------------------------------------------------------
当你使用ASP连接数据库时可能会出现这种情况,为什么呢?因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?
首先,你找到数据库所在目录,也可以是上层目录,然后设置文件夹 安全 属性,最简单的是把everyone的权限设置成完全即可,那对于这个问题,应该使哪个对象的权限设置成完全呢?答案是 IUSER_您的机器名 。这个是哪个对象?这个是Internet来宾用户,有兴趣的读者可以查阅相关资料。至此,问题解决,你可以再运行一下看看是否解决了问题。
附:对于Windows XP的用户,也许你会茫然于更改文件夹的安全属性。因为在默认情况下,Windows XP使用了简单文件共享方法,所以,当你点 属性 的时候是看不到 安全 选项卡的。具体操作如下:
1.文件夹——〉属性;或,资源管理器——〉工具——〉文件夹选项
2.在“查看”选项卡中不钩选“使用简单文件共享”
3.这样,你在XP下NTFS分区文件夹右键,也能看到如WIN2000一样的“安全”选项卡了
4.在“安全”选项卡下,点击“添加……”,跳出“选择用户和组”对话框
5.然后点击“立即查找”,在下图所示的列表中选择“IUSR_”(下划线之后是你的计算机名)
6.之后在“安全”选项卡中就会出现“Internet来宾帐户”,将这个帐户的权限设置为“可修改”和“可写入”
最后按确定,问题得到解决,不会再出现“Microsoft OLE DB Provider for ODBC Drivers (0x80004005)”错误 !
注意:但是执行了上述步骤还是出现错误怎么办呢
错误描述:
----------------------------------
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'。
----------------------------------
连接方式:
--ODBC连接方式------------------------
mdbpath=server.MapPath("my.mdb.asp")
CnnStr = "DBQ=" & mdbpath & ";DRIVER={Microsoft Access Driver (*.mdb)};uid=admin;pwd="
-------------------------------------
解决方法:
打开winntemp目录 将其安全选项内增加 everyone 用户 权限为完全控制 然后重启计算机
如果不重启。会出另外一个错!!!
朱郝托普: config.asp文件的配置问题, 修改成下面的那个,然后根据你的情况重新改一下即可 <%@ LANGUAGE = VBScript CodePage = 936%> <% Respo...
钢城区14742515122: 请各位帮忙 Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' - ?
朱郝托普: Set objRS=conn.Execute("SELECT top 40 id FROM news_url WHERE two_id="&two_id&" order by id desc") 我记得在这传代码之前有conn.open吧,你这样想一想,你跟数据库的连接还没有中断,并且还在执行当前的查询,不论你是否关闭,又马上执行另一条SQL语句,会不会出错,你应该把数据库连接线关闭了,再执行下一天语句就可以了
钢城区14742515122: 高手帮忙了.读取Excel数据提示Microsoft OLE DB Provider for SQL Server (0x80040E14) - ?
朱郝托普: 你要用SQL Server读取Excel数据,采用OPENROWSET就可以.可以用以下SQL语句,执行就可以了.@FileName替换为Excel文件路径 SELECT 时段 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=yes;Database=@FileName;','SELECT DISTINCT(F1) AS 时段 FROM [第 1 页$A2:T86] ')
钢城区14742515122: Microsoft OLE DB Provider for SQL Server (0x80004005) - ?
朱郝托普: 无法连接到sql server 原因可能是 你的数据库有别名,使用 servername\别名来制定data source sql2005没有打开远程连接,在sql server外围应用配置器中配置远程连接
钢城区14742515122: sql server错误类型Microsoft OLE DB Provider for SQL Server 错误 '80040e14' - ?
朱郝托普: 1、检查'Sorder'是否是关键字.我印象里好像不是.但该错误号包含关键字的内容.如果是关键字的别跌忘了加中括号.2、Sql Server有问题,换个版本,推荐Developer Edition.3、windows系统的计算机名、用户名是否有中文,如果SQL2000的话,估计问题就在这方面.试试吧,祝君好运!
钢城区14742515122: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e4d' - ?
朱郝托普: 根据提示,应该是你链接数据出错了 第六行是链接数据库的代码 提示也说用户登录失败 应该是你SQL server的用户名和密码是不正确,或者是没有开通SQL server 的远程访问,在属性里设置允许远程链接访问就可以了
钢城区14742515122: XP操作系统下出现“Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 操作必须使用一个可更新的查询”错误的解决办法? - ?
朱郝托普: 1.在asp操作数据库时出现“操作必须使用一个可更新的查询”错误: 2.文件夹——〉属性;或,资源管理器——〉工具——〉文件夹选项 3.在“查看”选项卡中不钩选“使用简单文件共享” 4.这样,你在XP下NTFS分区文件夹右键,也能看到...
钢城区14742515122: Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 的解决方法?
朱郝托普: 造成这样错误的原因无外乎以下几个方面: 1)将保留字用作名称.大多数数据库都有一组保留字.例如,"name"是保留字,因而不能用于数据库中的列名称. 2)名称中使用特殊字符.特殊字符的示例包括: . / * : ! # & - ? 3)在列...
钢城区14742515122: 请帮我解决一下Microsoft OLE DB Provider for ODBC Drivers '80040e14'的报错问题?
朱郝托普: 少空格 if s1<>"" then s1="where" &right(s1,len(s1)-4)改为 if s1<>"" then s1=" where " &right(s1,len(s1)-4)=============== rs.open "select * from tx1" &s1,cn 改为 rs.open "select * from tx1" &s1,cn,1,1if sex="m" then s1=s...
钢城区14742515122: Microsoft OLE DB Provider for SQL Server 错误 '80040e14' - ?
朱郝托普: 首先确保guestbook_id的值不为空,其次 如果guestbook_id的数据类型是字符串类型,就需要加单引号 "select * from guestbook where guestbook_id='" & guestbook_id &"'" 补充:获取的guestbook_id不能为空 是后面的变量guestbook_id不能为空,不是前面的字段guestbook_id.