【问题标题】:How do I resolve using 32 bit program with 64 bit database driver?如何解决使用 32 位程序和 64 位数据库驱动程序的问题?
【发布时间】:2016-04-13 16:14:22
【问题描述】:

我相信有些人会说这个问题离题了,但它确实与编程有关,因为我编写了这个程序,我需要让它在 Windows 10 上运行。

我在 VB.Net 中编写了一个应用程序并将其编译为“AnyCPU”。所以它可以在 32 位和 64 位环境中工作。该程序与 MySQL 数据库通信,因此我在安装过程中加载了 32 位 ODBC 驱动程序和 64 位 ODBC 驱动程序。但是,该程序的一部分使用 Crystal Reports 来输出报表。我使用的 Crystal 只在 32 位工作空间中运行。

由于是 64 位操作系统,安装的 MySQL 数据库是 64 位的。

在 Windows_7(64 位)中一切正常,但相同的配置在 Windows_10(64 位)中不起作用。在 Windows 10 中,当用户尝试运行 Crystal 程序查看报表时,MySQL 会抛出一个错误,即在

中找不到 ODBC 驱动程序

“C:\Program Files(x86)\MYSQL\Connector ODBC 5.3\myodbc5a.dll”

当然有驱动,但是这个错误通常是由于安装了错误的驱动版本。

64位版本安装在

“C:\Program Files\MYSQL\Connector ODBC 5.3\myodbc5a.dll”

这是 Windows 10 问题还是其他问题?如何让 MySQL 使用正确的驱动程序位置?

【问题讨论】:

  • Of course the driver is there - double check that。还要仔细检查您的程序进程在 Windows 7 和 Windows 10 的任务管理器中显示的位数。
  • 比较这些文件的版本。
  • 正确的版本已经到位,但 32 位版本缺少 myodbc5c.dll,错误中没有显示。我只是在尝试手动安装时出错后才注意到它丢失了。

标签: mysql vb.net windows-10


【解决方案1】:

我不确定这是否对其他人有帮助,但基本上我回去确保将正确版本的 ODBC 驱动程序安装在正确的位置。所以我卸载了两个版本的 ODBC 驱动程序并尝试重新安装它们。在执行此操作时,我看到 MySQL 安装程序只允许我安装驱动程序的一个位版本,但不能同时安装两者。我的程序以静默模式从命令行安装这两个驱动程序。但是在复制我的安装方法时,我注意到从脚本运行时没有正确安装 32 位驱动程序。但由于它以静音模式安装,我从未注意到。所有 32 位驱动程序 dll 都在那里,包括错误消息中显示的那个,但是它缺少 2 个在静默安装期间未正确安装的 dll。

所以使用 MySQL 安装程序,我尝试安装两个位版本的驱动程序,但正如我上面提到的,它不会让我安装。如果我安装了一个版本,然后返回并尝试另一个版本,它会抱怨这两个版本都已安装。所以我不得不通过安装一个版本然后重命名文件夹然后卸载它并安装另一个版本来欺骗它。安装第二个版本后,我返回并将原始版本的文件夹重命名为原始名称。这样,两个位版本都在适当的位置。但是,查看安装程序,它显示只安装了一个版本(我上次安装的那个)。

我仍然不确定静默安装失败的原因。该错误让人想起需要安装 C++ 可再发行组件时出现的错误,但我尝试了这个并没有解决问题。所以我眼前的问题已经解决了。如果我发现我的安装问题,我会回来更新这个答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    相关资源
    最近更新 更多