强制Excel(x86)VBA代码连接到Win7 x64上的ODBC(x86)

问题描述:

我们通过excel运行VBA脚本来更新Siebel数据库,它在x86操作系统中完美工作,但在x64中完美工作。显然,所有的文件都是x86。强制Excel(x86)VBA代码连接到Win7 x64上的ODBC(x86)

该代码会引发错误: [4096]发生Oracle数据库错误。可能数据库名称无效。

正确的连接是绝对正确引用(其加载从CFG文件设置为实际的Siebel的applcation,其正常工作)

的ODBC连接显示在odbcad32应用(x86版本不是64)

通过Siebel我们可以强制它使用参数运行x86,难道我们可以强制excel连接到x86连接吗?

+0

'显然所有的文件都是x86.'显然。 –

+0

如果你有一个64位的ODBC连接,我会删除它。也许重命名它,但更好地删除它。 32位Excel必须与32位ODBC交谈,并且事实告诉64位在客户端不会为你购买任何东西。 – Hambone

+0

为了安全起见,我已经完全删除了所有的64位连接,甚至删除了它的注册表值,仍然不会取代32位的连接 –

您将不得不使用32位版本的Excel。并有数据库的32位驱动程序。我在Excel中使用一个类似的VB宏,这仍然适用于我。

几年前,我基于这个Sel2xl.xls文件对我的自定义Excel表单进行了修改。它通过DSN连接到ODBC,它仍然可以工作到日期。尝试并在您的实例上进行测试,您可以看到宏代码是否有效。

+0

这就是问题所在,我绝对使用32位excel和32位驱动程序。你正在运行一个64位的操作系统? –

+0

是@ daniel.henley,我在Win7-64bit。但是我安装了32位excel和oracle驱动程序,因为siebel.exe和tools.exe都是32位的。我的宏工作正常。 –

+0

我绝对使用相同的软件。您是否在为dsn使用Siebel Oracle80驱动程序?我的DSN当前被指向fin2000 \ bin \ seor815.dll,并且它对于工具和siebel连接工作正常,只是不在excel中。 您是否已通过加载cfg文件连接到siebel数据库?其文档为[link](https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0ahUKEwi-3rG-nNvOAhWQq5QKHc3rC44QFggoMAI&url=https%3A%2F%2Fdocs .oracle.com%2Fcd%2FE14004_01%2Fbooks%2FPDF%2FOIRef.pdf&usg = AFQjCNE2G3AuItagZm6e1i7MFyI_eaRSbw&sig2 = BIodgnDBEpZ2BCtw3wBo3Q) –

我知道我对派对迟了几个月,但是基于对上述答案的评论,它看起来像您试图使用随Siebel打包的自定义DataDirect Oracle驱动程序。您不能在Siebel软件之外使用该软件,因为它需要只有Siebel软件才能提供的许可证密钥。使用普通的旧Oracle ODBC驱动程序,使用自己的DSN尝试它。