0

尝试使用 Pyodbc 连接到 Oracle 数据库:

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()

它不断给我这个错误信息:

'[IM014] [Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配 (0) (SQLDriverConnect)

所以我想知道罪魁祸首是否是我没有“匹配”的组件。目前,我有:

  1. Python 2.7 32 位
  2. pyodbc 3.0.6 win32-py2.7
  3. Oracle ODBC 驱动程序:32 位
  4. Windows 服务器 2008 64 位
  5. 甲骨文 11.2.0 64 位

这里的版本有什么问题吗?谢谢。

4

1 回答 1

1

您遇到的问题是 64 位 Windows 不能很好地与 32 位 ODBC 配合使用。你可以在这里读更多关于它的内容:

32 位版本的 ODBC 管理器工具和 64 位版本的 ODBC 管理器工具在 64 位版本的 Windows 操作系统中显示 32 位用户 DSN 和 64 位用户 DSN

解决方法是专门针对您要实现的体系结构的 ODBC 驱动程序。

附带说明一下,尝试在混合架构平台上为 oracle 实现 ODBC 让我们很头疼。所以,我们通过CX_Oracle实现了对oracle的访问

于 2012-09-25T02:24:31.570 回答