0

我已经安装了 psqlODBC 9.1 的 32 位和 64 位版本。当我同时配置 32 位和 64 位系统 DSN 时,它们会错误地写入 ODBC.ini 文件:

[ODBC 32 bit Data Sources]
pg_crdb_latest=PostgreSQL Unicode (32 bit)
pg_crdb_latest_32=PostgreSQL Unicode(x64) (32 bit)
[pg_crdb_latest]
Driver32=C:\Program Files (x86)\psqlODBC\0901\bin\psqlodbc35w.dll
[pg_crdb_latest_32]
Driver32=C:\Program Files\psqlODBC\0901\bin\psqlodbc35w.dll

pg_crdb_latest DSN 是使用64 位 ODBC 数据源管理添加的。pg_crdb_latest_32 DSN 添加了32 位DSN

仅供参考 - 我先安装了 32 位版本,然后安装了 64 位版本。

结果是我在尝试连接到 SAS 9.2 64bit 中的 PostgreSQL 9.1 64bit 时收到此错误:

错误:尝试建立连接的 CLI 错误:[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

任何想法如何设置正确?我正在运行 Windows 7 Pro 64 位。

4

1 回答 1

1

这个链接说明了一切

http://www.easysoft.com/developer/interfaces/odbc/64-bit.html#odbc-windows

所以有两件事:

  1. Windows 对 ODBC 的文件和目录命名约定非常差 - 因此造成混淆
  2. 64 位 PostgreSQL ODBC 目前非常慢(比通过 OLEDB 的 SAS 到 SQL 64 位慢 10 倍) - 我将进一步调查
于 2012-06-05T23:11:38.553 回答