相同名称的Oracle ODBC(64位和32位)

时间:2019-11-25 23:13:09

标签: oracle odbc

我们将用户升级到Windows 10,并且在配置ODBC与Oracle的连接时遇到问题。

我们同时安装了64位和32位驱动程序。我知道32位的OBDC是syswow64,而system32上的是64位。

我猜该用户具有同一应用程序的两个版本。一个使用64位驱动程序,另一个版本使用32位驱动程序。它们在obdc连接中都使用相同的名称。当我们尝试添加32位连接时,它将覆盖64位连接。我猜是因为它的名字相同。

是否可以添加两个具有相同名称的odbc连接,但一个是32位,另一个是64位?

用户说您必须将两个驱动程序映射在一起,以及有关使用odac oracle安装的信息。当我安装时,我只是使用oracle客户端安装作为管理员。 oracle版本是12.2

2 个答案:

答案 0 :(得分:0)

遇到此问题时,我必须设置两个版本的驱动程序并分别引用它们。我将使用“ Oracle32”和“ Oracle64”,然后引用应用程序需要的那个。希望对您有所帮助!

答案 1 :(得分:0)

默认情况下,在早期的Oracle版本中,两个驱动程序具有相同的名称,并且ORACLE_HOME相等,例如OraClient11g_home1

现在在Oracle 12或更高版本中,默认情况下将其更改为OraClient12Home1_32bitOraClient12Home1

我假设您可以简单地在注册表中重命名ODBC驱动程序,即

HKLM\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\Oracle in OraClient12Home1_32bit将密钥重命名为Oracle in OraClient12Home

HKLM\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers\Oracle in OraClient12Home1_32bit重命名为Oracle in OraClient12Home1

据我所知,当您添加“用户DSN”时,DSN是平台无关的,即,根据调用过程尝试加载32/64位驱动程序。因此,如果再次添加相同的DSN,它将覆盖现有的DSN。为了确定平台,您必须添加“系统DSN”。

此答案可能会帮助您进行安装:BadImageFormatException. This will occur when running in 64 bit mode with the 32 bit Oracle client components installed

相关问题