vba 在 Windows 7 64 位上找不到提供程序

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9000660/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-11 15:03:03  来源:igfitidea点击:

Provider cannot be found on Windows 7 64 bit

sqloraclevba64-bitconnection-string

提问by matyyyy

I am trying to run our very old application on Windows 7 64 bit. In this application we use our do template in which there are a Visual Basic scripts. I have a problem with database provider. This is my string connection:

我正在尝试在 Windows 7 64 位上运行我们非常旧的应用程序。在这个应用程序中,我们使用我们的 do 模板,其中有一个 Visual Basic 脚本。我有数据库提供程序的问题。这是我的字符串连接:

  buildConnectString = _
    "Provider=MSADORA.1" + _
    ";Password=""" + pPassword + _
    """;User ID=" + pUser + _
    ";Data Source=" + pDB + ";"

I receive this error:

我收到此错误:

Run-time error 3706. Provider cannot be found. It may not be properly installed.

运行时错误 3706。找不到提供程序。它可能没有正确安装。

Is there any possibility to run it on 64-bit operating system?

有没有可能在 64 位操作系统上运行它?

回答by Mitch Wheat

Install the Oracle provider (there are 32bit and 64bit versions), then use Provider=OraOLEDB.Oracle

安装Oracle provider(有32bit和64bit版本),然后使用 Provider=OraOLEDB.Oracle

[BTW, its MSDAORA.1. MSDAORA is only available for x86/32bit, there is no 64 bitdriver]

[顺便说一句,它的MSDAORA.1。MSDAORA 仅适用于x86/32 位没有 64 位驱动]

Microsoft are no longer supporting MSDAORA, and instead recommended you use the Oracle drivers.

Microsoft 不再支持 MSDAORA,而是建议您使用 Oracle 驱动程序。

Download page: http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

下载页面:http: //www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

回答by Oldskool

As far as I know the provider name for the MS provider is MSD*A*ORA. So it seems you are missing the A in your connect string.

据我所知,MS 提供商的提供商名称是 MSD* A*ORA。因此,您的连接字符串中似乎缺少 A。