无法找到错误3706提供程序。它可能没有正确安装

时间:2017-12-13 11:18:05

标签: oracle vba excel-vba ms-office oraoledb

全部。

我使用了How to securely store Connection String details in VBA

上解释的DLL方法

此代码在Windows 10 64位和MS Office 64位上运行良好。但是我无法在Wndows 8.1 Pro和MS Office 64位上使用相同的文件副本。

使用

将生成的DLL转换为主机machnines环境
pod install

但我面临同样的错误。关于环境变量已经采取了护理。 我的连接字符串是

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\regasm c:\windows\syswow64\OraConnection.dll /tlb /codebase

2 个答案:

答案 0 :(得分:0)

除了简单的混淆之外,我不确定DLL会给你带来什么。你所做的只是让它变得更难,但实际上并没有在任何有意义的意义上保护它的隐私。管理连接字符串的正常建议是保存用户/密码。相反,要求用户在运行时输入用户名/密码,并确保OLEDB连接中有Persist Security Info=false。这样,一旦打开,完整的连接字符串现在无法访问,并且没有密码引用。这比将它粘贴在DLL中的变量并且交叉手指更安全,没有人知道如何读取内存转储或附加调试器。

那就是说,这与你的问题没有密切关系,不能使用提供者。我要做的第一件事是通过删除它并直接使用提供程序来排除DLL是否导致您没有预料到的问题。如果它同样失败,那么您知道DLL与它无关,您需要使用Oracle的提供程序文档来解决问题的根源。

答案 1 :(得分:0)

在Succesfull机器中,我使用版本12.2.0.1.0 for ODAC 12.2c Release 1 作为oracle客户端。

但是,在 2017年6月1日发布的 64位ODAC 12.2c第1版(12.2.0.1.0)for Windows x64 上看到了最新版本的oracle客户端

安装相同。我的错误得到了解决。当我观察系统环境变量时,我发现其中添加了一些东西。 的 E:\应用\客户\管理员\产品\ 12.2.0 \的Client_1; E:\应用\客户\管理员\产品\ 12.2.0 \的Client_1 \ BIN; C:\用户\管理员\甲骨文\; < /强>

我实际上并不知道他们做了什么。但错误已经解决。

任何人都可以对此提出重点吗?