Python-Oracle connection issue with Pyodbc

爷,独闯天下 提交于 2019-12-11 18:56:32

问题


Tried to connect to the Oracle database using Pyodbc:

try:
    db_connection = pyodbc.connect('DSN=OraDev; PWD=%s' % Key.dbKeys['password'])
except pyodbc.Error, err:
        print >> debug_file, "Database connection failed: %s" %err 
        sys.exit()

and it keeps giving me this error message:

'[IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)

So I am wondering if the culprit is that I am not having the "matching" components. Currently, I have:

  1. Python 2.7 32bit
  2. Pyodbc 3.0.6 win32-py2.7
  3. Oracle ODBC driver: 32bit
  4. Windows server 2008 64bit
  5. Oracle 11.2.0 64bit

Are there anything wrong with the versions here? Thanks.


回答1:


The issue you are having is that 64 bit Windows does not play well with 32 bit ODBC. You can read more about it here:

The 32-bit version of the ODBC Administrator tool and the 64-bit version of the ODBC Administrator tool display both the 32-bit user DSNs and the 64-bit user DSNs in a 64-bit version of the Windows operating system.

The work around is to specifically target the ODBC driver for the architecture you are looking to implement.

A side note, trying to implement ODBC for oracle on a mixed architecture platform became a headache for us. So, we implemented access to oracle through CX_Oracle



来源:https://stackoverflow.com/questions/12573741/python-oracle-connection-issue-with-pyodbc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!