通过 ODBC 连接到数据库

Connecting to database via ODBC

我在使用 SQL Anywhere 12 数据库的 64 位服务器上安装了 运行 32 位软件 (Lexware) 运行。多个客户端通过 ODBC 连接到此数据库。

一名员工更新服务器后,一个客户端停止正常工作。 PyOdbc 给出的消息是驱动程序的体系结构与 Lexware 的体系结构不对应。

看来我使用的是 64 位 ODBC 驱动程序,它不适用于 32 位 Lexware。所以我尝试使用 32 位 ODBC 驱动程序。客户端正在使用 Windows7 64 位。

  1. 我转到 32 位 ODBC 数据源
  2. 点击添加
  3. 选择"SQL Anywhere 12"-驱动程序
  4. 点击完成
  5. 然后出现错误消息:"The setup routines for SQL Anywhere 12 could not be found. Install the driver again."
  6. 我点击确定。出现另一条消息。 “发现错误:无法在注册表中找到组件。
  7. 然后我再次安装了整个 sybase 驱动程序。

但是我得到了同样的错误。我不知道该怎么办了。我还尝试了其他几种方法。我感到好奇的是,之前一切正常。所有其他客户也可以工作。只有这个没有。我需要这个来为我的公司工作。

我该如何解决这个问题?

您需要安装 32 位版本的 Lexware ODBC 驱动程序。您还需要安装用于查询数据库的客户端的 32 位版本。

您不能在一个进程中混合使用 32 位和 64 位代码。

我找到了解决方案。

"HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/ODBC/ODBCINST.INI/SQL Anywhere 12"

之下

缺少字符串 "Driver" 和 "Setup"。我添加了 32 位 ODBC 驱动程序的路径。现在一切都恢复正常了。