Python 通过Pyodbc连接到Oracle ODBC(32位与64位)

Python 通过Pyodbc连接到Oracle ODBC(32位与64位),python,oracle,32bit-64bit,pyodbc,Python,Oracle,32bit 64bit,Pyodbc,我知道以前也有人问过类似的问题,但我仍然无法通过看那些Q和A来解决我的问题。这是一个类似的问题 我的问题是这个。在工作中,我有以下几点: Windows计算机(64位) Python(64位) Pyodbc模块(64位) Oracle ODBC驱动程序(32位;此处只能使用32位) 当我执行以下行时: cnxn = pyodbc.connect(driver='{____}', dsn='____', uid='____', pwd='____') 我得到以下错误 Error: ('IM014

我知道以前也有人问过类似的问题,但我仍然无法通过看那些Q和A来解决我的问题。这是一个类似的问题

我的问题是这个。在工作中,我有以下几点:

  • Windows计算机(64位)
  • Python(64位)
  • Pyodbc模块(64位)
  • Oracle ODBC驱动程序(32位;此处只能使用32位)
  • 当我执行以下行时:

    cnxn = pyodbc.connect(driver='{____}', dsn='____', uid='____', pwd='____')
    
    我得到以下错误

    Error: ('IM014', '[IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)')
    
    我已经查看了System32和SysWOW64文件夹中的
    odbcad32.exe
    文件。这两个文件包含相同的信息,正如在两个exe文件中显示的32位Oracle驱动程序一样


    我还能做什么呢?

    正如布莱恩·埃尔格尔(Bryan Eargle)在上文中建议的那样,保留64位窗口,但将其余窗口全部设置为64位或32位。我有32位的Python、Pyodbc和Oracle ODBC,它们现在正在相互通信。

    如果Oracle驱动程序限制为32位,则需要使用32位Python安装。在64位Windows上运行它应该没有问题。正如您所建议的,在我的64位计算机上,我重新安装了Python和Pyodbc,现在都是32位的,以使它们能够相互通信。它起作用了!谢谢