Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 运行时错误';3706&x27;。找不到提供程序。它可能安装不正确。”;_Excel_Vba_Oracle - Fatal编程技术网

Excel 运行时错误';3706&x27;。找不到提供程序。它可能安装不正确。”;

Excel 运行时错误';3706&x27;。找不到提供程序。它可能安装不正确。”;,excel,vba,oracle,Excel,Vba,Oracle,我在运行VB代码时收到错误“运行时错误“3706”。找不到提供程序。它可能未正确安装” cn.Open ( _ "User ID=" & _ "; Password=" & _ "; Data Source=" & _ "; Provider=OraOLEDB.Oracle") 我的系统窗口10中有一个64位Oracle客户端,excel为32位。有人能告诉我任何可能的解决方案吗?欢迎使用s

我在运行VB代码时收到错误“运行时错误“3706”。找不到提供程序。它可能未正确安装”

cn.Open ( _
"User ID=" & _
"; Password=" & _
"; Data Source=" & _
"; Provider=OraOLEDB.Oracle")

我的系统窗口10中有一个64位Oracle客户端,excel为32位。有人能告诉我任何可能的解决方案吗?

欢迎使用stackoverflow。我看到您的代码中有
用户ID
密码
数据源
的占位符,但您的代码没有为这些参数分配任何值。你忘记填写了吗?没有。出于安全原因,我删除了。在我的实际代码中,我有@ahmadSo的所有内容。我认为这段vb代码是32位Excel中的宏?(否则,为什么还要提到excel呢?)。我相信在这种情况下,您将需要32位oracle客户端。oracle客户端的位体系结构需要与调用程序的位体系结构相匹配。是的,宏在32位excel中。因此,我需要卸载64位oracle客户端,然后需要安装32位客户端。对吗?有没有办法使32位和64位客户端在同一个系统中,并且对各自的应用程序都能正常工作@EdStevensSure,在我的公司,我们当然会安装32位和64位客户端。只需确保安装到它自己的家庭,并命名它,以便您可以识别32位和64位家庭。类似于“c:\app\oracle\product\18.0.0\client\u 32”和“c:\app\oracle\product\18.0.0\client\u 64”。选择一个保存tnsnames.ora,并将TNS_ADMIN设置为系统变量-TNS_ADMIN=C:\app\product\18.0.0\client\u 64\network\ADMIN'