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:
- Python 2.7 32bit
- Pyodbc 3.0.6 win32-py2.7
- Oracle ODBC driver: 32bit
- Windows server 2008 64bit
- Oracle 11.2.0 64bit
Are there anything wrong with the versions here? Thanks.
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