用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80004005”

Posted

技术标签:

【中文标题】用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80004005”【英文标题】:Microsoft OLE DB Provider for ODBC Drivers error '80004005' 【发布时间】:2014-07-26 06:02:21 【问题描述】:

我在虚拟主机上上传了我的项目,当我请求我的页面时,它给了我这个错误:

Microsoft JET 数据库引擎错误“80004005”

'C:\webng.com\wwwroot\data\guestbook.mdb' 不是有效路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。

/_____10_/weeklyfreerare/add_to_guestbook.asp,第 60 行

我的代码:

adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/data/guestbook.mdb") & ";"

【问题讨论】:

您的 mdb 文件存储在哪里?试试Server.MapPath("data/guestbook.mdb"),不要在开头加上/ 在我的虚拟主机上的“数据”文件夹中 @user3779883 你试过评论中的建议了吗? Server.MapPath("data/guestbook.mdb") 确实应该做到这一点。 【参考方案1】:

通常大多数网络主机数据文件夹位于 wwwroot 文件夹之外。

我有一个名为 DataPath 的函数,用于获取此文件夹。您可以使用此功能并像这样更改您的打开命令:

adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath() & "\guestbook.mdb" & ";"

Function DataPath()
    Dim strPath, intPos

    strPath = Server.MapPath("/")
    intPos = InStrRev(strPath, "\")
    strPath = Left(strPath, intPos)

    DataPath = strPath + "\data"
End Function

【讨论】:

以上是关于用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80004005”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Microsoft Access ODBC 链接到 Oracle 控制哪些列成为主键

用于ODBC驱动程序的OLE DB提供程序错误“80004005”

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

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序怎么解决?

Windows XP 上的错误 [IM002] [Microsoft][ODBC 驱动程序管理器]