【问题标题】:VB6 "Provider cannot be found."VB6“找不到提供程序。”
【发布时间】:2011-03-29 16:18:32
【问题描述】:

我有几个用 VB6 编写的应用程序,它们都在同一台机器上使用相同的连接字符串。他们使用带有 SQL Server Native Client 10.0 驱动程序的 ODBC 提供程序并使用显式用户名和密码进行连接。

在运行时,当我尝试连接到数据库时,其中一个应用程序抛出异常:

3706:找不到提供程序。它可能没有正确安装。

我不明白为什么这个应用程序在其他应用程序正常工作时出现问题。参考是相同的,直到版本号。

【问题讨论】:

  • 您必须提供更多详细信息。您是否真的在使用带有 ODBC 驱动程序的 MSDASQL 提供程序(如果是,为什么?)或实际的 OLEDB 提供程序 SQLNCLI10.1?
  • 它们都是遗留应用程序,我在不到一个月前才接管它们,所以我还没有时间重写。我选择了现有的连接字符串,因为在所有其他连接字符串中,它们工作正常,并且在主要是 Windows Embedded 环境中工作,在咨询我们的操作系统/硬件人员之前,我尝试尽可能少地进行更改。我确实发现删除驱动程序声明可以解决问题;虽然我觉得这很令人困惑,因为它不是将 ODBC 与 SQL Native Client 10.0 一起使用吗?
  • 很难说没有看到连接字符串。人们做了很多事情,迫使 ADO 和 Provider 猜测您的要求。据我所知,它与各个级别的默认值有关。当 ADO 是您选择的连接器技术时,使用 ODBC 会强制您使用至少 4 层软件,而使用 OLEDB 可以将其减少到 3 层。当然,我假设 ADO,您可能正在使用其他软件(DAO/RDO?)。

标签: vb6 odbc sql-server-native-client


【解决方案1】:

尝试在您的机器上安装MDAC

【讨论】:

    【解决方案2】:

    如果您在另一个系统上使用该程序并使用 Access,如果系统上未安装 Access,则需要下载并安装 http://www.microsoft.com/download/en/details.aspx?id=23734

    【讨论】:

      猜你喜欢
      • 2020-04-12
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 2023-01-31
      • 2021-12-15
      • 2011-10-14
      • 2015-04-29
      • 2012-04-04
      相关资源
      最近更新 更多