Microsoft OLE DB Provider for ODBC Drivers error '80004005'

错误信息
Microsoft JET Database Engine 错误 '80004005' 未指定的错误 (Provider 错误)

原因:
权限问题,系统缓存目录权限不足
解决方法:
把系统盘如 C:/WINNT/Temp 目录权限加上 Everyone 可读取权限

错误信息
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中的一个表,而这个表却联接在一个网络服务器上。

错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.

原因:
多人使用时数据库被锁定。

错误信息:
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中加入下面的代码)

<%= "'auth_user' is " & request.servervariables("auth_user")%>
<P>
<%= "'auth_type' is " & request.servervariables("auth_type")%>
<P>
<%= "connection string is " & session("your_connectionstring")%>
<P>

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

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

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

错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not ??

原因:
这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
如果ODBC的版本不一致的话,就会发生该错误。
解决办法是安装最新版本的MDAC

错误信息:
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

错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).

原因:
两个原因:当一个数据库中包含有分别在不用机器上的许可关系时,
这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。
错误原因是:
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器,
另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。

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

错误信息:
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映射了帐号。

错误信息:
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 选项。

错误信息:
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

错误信息:
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 被使用到另外一台机器上的时候。

错误信息:
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.

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

错误信息:
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 还使用了原来的机器名。

### 回答1: 64位 msdasql (ole db provider for odbc) 是一种用于连接和访问 ODBC (开放数据库连接) 数据源的数据提供程序。它允许开发人员使用 ODBC 驱动程序连接到不同类型的数据库,如 SQL Server、Oracle、MySQL 等。在 64 位操作系统上,为了使用 msdasql 数据提供程序,必须下载并安装对应的 64 位版本。 要下载 64 位 msdasql 数据提供程序,可以按照以下步骤进行操作: 1. 打开一个支持的网页浏览器,如谷歌浏览器或者火狐浏览器。 2. 在搜索引擎中输入 "64位 msdasql 下载" 或者 "ole db provider for odbc 下载"。 3. 搜索结果中会出现相关的下载链接,通常来自官方网站。点击相应的链接,进入下载页面。 4. 在下载页面中,选择适用于你的操作系统的 64 位版本的 msdasql 数据提供程序。 5. 点击下载按钮,等待下载完成。 6. 下载完成后,双击下载的安装程序,按照提示完成安装过程。 7. 安装完成后,可以在计算机或者服务器上的相应目录中找到安装的 msdasql 数据提供程序。 请注意,确保下载和安装的 msdasql 数据提供程序版本与你的操作系统相匹配。如果你的操作系统是 32 位的,则需要下载和安装相应的 32 位版本。在安装过程中,可能需要管理员权限。 64位 msdasql 数据提供程序的下载和安装完成后,就可以在你的应用程序中使用它来连接和访问 ODBC 数据源了。 ### 回答2: 64位的msdasqlODBCOLE DB提供程序)是Microsoft公司提供的一种用于在64位操作系统上连接和访问数据库的工具。这个提供程序通过ODBC(开放数据库连接)协议与各种数据库系统交互,可以连接到不同类型的数据库,如SQL Server、Oracle、MySQL等。 要下载64位msdasql,可以按照以下步骤进行操作: 1. 打开互联网浏览器,转到Microsoft官方网站。 2. 在网站的搜索框中输入“64位msdasql下载”。 3. 点击搜索按钮进行搜索。 4. 在搜索结果中找到Microsoft官方网站提供的下载链接,点击进入相关页面。 5. 在下载页面上选择适合你操作系统的版本,通常会有64位的选项。 6. 点击下载按钮开始下载。 7. 下载完成后,找到下载文件并双击运行安装程序。 8. 按照安装程序的指示,完成msdasql的安装过程。 安装完成后,你就可以在64位操作系统上使用msdasql连接和访问各种数据库了。通过配置msdasql提供程序连接字符串,你可以指定需要连接的数据库类型、服务器地址、用户名、密码等信息,以便进行数据库操作。 总之,下载64位msdasql提供程序需要从Microsoft官方网站获取相应的安装文件,并按照指示进行安装。这个工具可以使你在64位操作系统上方便地连接和访问不同类型的数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值