Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC相关的知识,希望对你有一定的参考价值。

拜托,帮我看看
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
/search.asp,行 16

“Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC”,此问题的原因:没有正确注册某些动态链接库文件(.dll文件)。

解决的方法和操作步骤如下:

1、首先,按键盘“win+r”打卡“运行”窗口,如下图所示。

2、其次,在输入框中输入“cmd”命令并回车确定,如下图所示。

3、接着,弹出“命令运行符”窗口,依次输入命令“regsvr32 Softpub.dll”、“regsvr32 Wintrust.dll”、“regsvr32 Initpki.dll”,每输入一个命令回车一次,如下图所示。

4、最后,弹出如下对话框,表明问题已解决,如下图所示。

参考技术A “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)”错误 !本回答被提问者和网友采纳
参考技术B Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x174 Thread 0xa28 DBC 0x7ef2024 Jet'。

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
老样子先google再百度,搜了一大堆解决方法,这里转个比较靠谱的吧。
方法1:
错误类型: Microsoft OLE DB Provider for ODBC Drivers (’0×80004005′)
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件’(未知的)’。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
/conn.asp, 第 6 行
解决方法:
1.在asp操作数据库时出现“操作必须使用一个可更新的查询”错误:
2.文件夹——〉属性;或,资源管理器——〉工具——〉文件夹选项
3.在“查看”选项卡中不钩选“使用简单文件共享”
4.这样,你在XP下NTFS分区文件夹右键,也能看到如WIN2000一样的“安全”选项卡了
5.在“安全”选项卡下,点击“添加……”,跳出“选择用户和组”对话框
6.然后点击“立即查找”,在下图所示的列表中选择“IUSR_”(下划线之后是你的计算机名)
7.之后在“安全”选项卡中就会出现“Internet来宾帐户”,将这个帐户的权限设置为“可修改”和“可写入”
最后按确定,问题得到解决,不会再出现“Microsoft OLE DB Provider for ODBC Drivers (0×80004005)”错误 !
方法2:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (’0×80004005′)
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件’(未知的)’。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
/conn.asp, 第 6 行

C:\Windows\Temp,添加everyone权限!
错误详情:
IIS设置好之后打开ASP网站时总提示:Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005′
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 ‘Temporary (volatile) Jet DSN for process 0×728 Thread 0×854 DBC 0×276fb44 Jet’
方法步骤:
1、在WINSOWS/TEMP目录的安全选项中,添加帐号everyone具有可写权限(非NTFS文件系统则跳过此步骤);
以上解决方法可能你刷新网站页面还是错误,只需在最后一步重新回收下iis的进程。
参考技术C Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database
engine cannot open the file '(unknown)'. It is already opened exclusively
by another user, or you need permission to view its data.
原因:
这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录
没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)
检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件
也可能建立在别的目录,例如 /Winnt.

使用NT的文件监视程序监视文件失败时到底是访问了什么目录。
这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com.

如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,

还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,
这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。

这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用
本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。
还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。

2.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
原因:
多人使用时数据库被锁定。

3.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default
driver specified.
原因:
最可能的原因是ConnectString是一个在global.asa中初始化的Session变量,但是global.asa
却没有正常工作。解决办法是,检查赋值时是否正确:(在你的asp中加入下面的代码)

还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSN; Database = Pubs;
试试改成下面这个样子:
DSN=MyDSN;Database=Pubs;

如果是global.asa还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。

还有可能错误出现的原因是DSN名称没找着,这可以采用我提供的id=36767的办法解决。
最后是检查是否安装了最新的驱动程序,既是否是最新的MDAC版本。

4.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not ??
原因:
这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
如果ODBC的版本不一致的话,就会发生该错误。
解决办法是安装最新版本的MDAC

5.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
registry key 'DriverId'.
原因:
这个错误发生在爱从注册表中读取数值的时候。 使用regedit32.exe检查你的注册表的权限。
你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。该程序到这找:http://www.sysinternals.com

6.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因:
两个原因:当一个数据库中包含有分别在不用机器上的许可关系时,
这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。
错误原因是:
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器,
另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。

两个解决办法:
1。在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录)
2。或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。

7.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC
Microsoft SQL Driver] Logon Failed()
原因:
该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录,
也可能是在NT中没有SQL影射帐号造成的。

使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。
因为DSN中没有保存用户名和密码。
检查NT是否给SQL映射了帐号。

8.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason:
Not defined as a valid user of a trusted SQL Server connection.
原因:
原因同上。
试试这个办法:在SQL Server的Enterprise Manager中,选择Server/SQL Server/Configure[ASCII
133]/Security Options/Standard.
如果是运行在IIS4中,取消选择该项目的Password Synchronization选项。

9.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't lock file.
原因:
也许是没有正确的权限生成Access数据库的锁定文件(.ldb)
默认时,该文件和你的数据库是同一个目录的。
给匿名帐号全权访问数据库共享目录的权限。

有时是因为文件是因为共享时有意使用了只读的权限限制。试试使用下面的代码。
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeShareDenyWrite '8

10.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] '(unknown)' isn't a valid
path. Make sure that the path name is spelled correctly and that you are
connected to the server on which the file resides.
原因:
路径非法。最可能发生在当Global.asa和CoonecntString被使用到另外一台机器上的时候。

11.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] The query and the views in
it exceed the limit of 16 tables.

原因:
查询太复杂了,对查询有限制。

12.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][DBMSSOCN] General network error. Check
your network document
原因:
当装有SQL Server的机器改名的时候。但是DSN还使用了原来的机器名。

资料引用:http://www.knowsky.com/3432.html
参考技术D 当使用win7——win server 2012系统,使用 iis配置web服务器时出现Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'问题?
我遇到这样的情况,在网上查找各种原因都没有解决问题,后来才发现是操作系统位数不一样出现的问题。
找到iis服务器下的“应用程序池”-》点击“设置应用程序池默认设置”-》常规里找到“启用32位应用程序”-》true。

Intellisoft OLE DB Provider for PostgreSQL——一款能够使用户与数据源互动的软件构件

Intellisoft  OLE DB Provider for PostgreSQL

 

Intellisoft OLE DB Provider for PostgreSQL—— 一款能够使用户与数据源互动的软件构件

PGNP提供程序是Microsoft ADO和PostgreSQL数据库之间的薄膜层。它实现大多数OLEDB接口,并使用libpq访问PostgreSQL数据库。提供程序可以从本机及.NET的32位和64位应用程序中使用。

主要特点有:

•使用DTS Wizard(MSSQL 2000)或SSIS Wizard(MSSQL 2005/2008/2012)进行数据库转换。

•支持SSRS、SSAS和SSIS。

•支持SQL Server链接服务器和复制。

•错误报告和执行跟踪。

•支持事务:标准OLEDB和使用保存点的“嵌套”PostgreSQL事务。

•分布式事务(两阶段提交协议)。

•表、视图、提供程序类型、列、主键/外键、索引等的架构支持

•支持多个结果。

•命令取消、准备以及在准备命令上的列信息。

•Unicode(UTF8)和各种语言支持。

•支持带有POSIX和其他扩展的PostgreSQL语法。

•部分支持T-SQL语句语法。

•内部存储过程。

•扩展的参数语法('@',':'和'?'),并支持IN、OUT和INOUT参数。

 

PGNP的特征(32位及64位平台)

PGNP 1.2.8

PGNP 1.3.0

PGNP 1.4.0*

支持PostgreSQL  8.x

OLE DB连接池

OLE DB错误报告

OLE DB命令准备和取消

OLE DB列信息

SQL Server DTSWizard中的数据库转换

支持本地事务

分布式交易和两阶段提交协议(DTC版本)  

支持SQL Server  2000、2005以及2008链接服务器

支持SQL Server  2000、2005和2008至PostgreSQL复制

 

多个结果集,多个SQL语句/ MARS

仅从程序

仅从程序

全部

执行跟踪和分析

TraceMgr

PGNP  分析器

PGNP 分析器

模式支持(表、视图、提供程序类型、列、主键/外键、

索引、程序等)

支持SSL、Kerberos、GSSAPI以及SSPI

支持扩展参数语法('@',':'和'?')

支持IN、OUT和INOUT参数

回收内部元数据缓存

手动**

自动

自动

OLE DB命令超时

支持阵列类型

支持嵌套事务

支持COPY命令和SSIS中的高性能导入

支持IRowsetUpdate  

 否

支持自动产品更新

 否

 否

 

**内部存储过程pgnp_refreshmetadata允许在提供程序的所有连接实例中回收内部元数据缓存。

PGNP1.4新特性

PGNP OLEDB Provider for PostgreSQL的新的主要版本有几个新功能和提升:

1. 优化了海量数据集(10亿行及以上)。

2. 支持延迟更新(IRowsetUpdate)。

3. 更好支持Greenplum 4.x(关于分发策略的意识,更好地使用光标,批量操作的gpload利用率等)

4. 更好支持PostgreSQL 9.x.

5. 自动更新的新实用程序(不包括在试用版中)。

6. 更好地与SSIS(MS BI工具)集成。

该提供程序有两个版本:桌面版(DE)/服务器版(SE)。下表总结了这两个版本的差异:

 

Postgres DE

仅用于连接到Postgres数据库的桌面应用程序使用。  某些功能不能与Greenplum一起使用,例如,可滚动光标、延迟更新等

Postgres SE

仅用于连接到Postgres数据库的服务器(IIS、SSAS、SSIS、链接服务器等)使用。优化极大的行集,支持两阶段提交协议(DTC版本),并提供与SSIS更好的集成。

 

 

 

服务器版(SE)具有桌面版(DE)的所有功能,并添加了更多功能,如上表所示。

 

Intellisoft OLEDBProvider for PostgreSQL, Server Edition特征:

*使用DTS Wizard(MSSQL 2000)或SSIS Wizard(MSSQL 2005、2008、2012、2014)进行数据库转换。

*支持链接服务器、OLAP,聚合提供器等。

*支持事务。

*表、视图,提供器类型、列、索引、过程等的模式。

*支持多个结果、书签,网格等。

*命令准备和在准备好的命令上的列信息。

*取消命令。

*用于转换索引等的附加实用程序

*支持模式和数据的统一的字符编码标准。

*PGNP Profiler用于收集和分析通过Provider执行的语句。

*PGNP Updater实用程序用于自动化产品更新。

支持的操作系统平台:Windows XP、Windows Server 2003/2008 R2 /2012 R2、Windows Vista、Windows 7、Windows 8、Windows 10。

Intellisoft OLEDBProvider for PostgreSQL, Desktop Edition特征:

*支持事务。

*表、视图、提供器类型、列,索引、过程等的模式

*支持多个结果、书签、网格等

*命令准备和准备好的命令上的列信息。

*取消命令。

*用于转换索引等的附加实用程序

*支持模式和数据的统一的字符编码标准。

*PGNP Profiler用于收集和分析通过Provider执行的语句。

支持的操作系统平台:Windows XP、Windows Server 2003/2008 R2 /2012 R2、Windows Vista、Windows 7、Windows 8、Windows 10。

联系我们

公司名称:哲想方案(北京)科技有限公司
北京哲想软件官方网站:www.cogitosoft.com
北京哲想软件微信公众平台账号:cogitosoftware
北京哲想软件微博:哲想软件
联系方式:+86(10)68421378
俞先生:18610247936


以上是关于Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft OLE DB Provider for SQL Server 错误 '80040e14'

Microsoft OLE DB Provider for SQL Server 错误 '80040e14'

win2003没有OLE DB Provider for SQLServer驱动,可安装sqlserver2000或者安装MDAC2.6,适用于winxpwin2003

注册“Oracle Provider for OLE DB”和创建链接服务器

ADOMD.net 和 Analysis Services OLE DB Provider 之间的差异(尤其是关于身份验证)

Intellisoft OLE DB Provider for PostgreSQL——一款能够使用户与数据源互动的软件构件