如何使用64位数据库驱动程序解决32位程序问题?

时间:2016-04-13 16:14:22

标签: mysql vb.net windows-10

我确信有些人会说这个问题不合适,但是因为我编写了这个程序而且我需要让它在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使用正确的驱动程序位置?

1 个答案:

答案 0 :(得分:0)

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

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

我仍然不确定为什么我的静音安装失败了。这个错误让人联想到你需要安装C ++可再发行组件时遇到的错误,但我尝试了这个并没有解决问题。所以我的直接问题已经解决了。如果我弄清楚我的安装问题,我会回来更新这个答案。