很多答案都很古老,所以我想我会更新一个我认为有帮助的解决方案。
我们的问题与OP的问题类似,我们将32位XP机器升级到64位Windows7,并且我们的应用软件使用32位ODBC驱动程序,无法写入我们的数据库。
事实证明,有两个ODBC数据源管理器,一个用于32位,一个用于64位。所以我必须运行32位版本,该版本可以在c:\windows\sysw64\odbcad32.exe中找到。在ODBC数据源管理器中,我可以转到系统DSN选项卡,并使用添加按钮将我的驱动程序添加到列表中。(您可以检查“驱动程序”选项卡以查看可以添加的驱动程序列表,如果您的驱动程序不在此列表中,则可能需要安装它)。
下一个问题是我们运行的软件被编译成使用“任何CPU”。这将看到操作系统是64位的,所以它将查看64位的ODBC数据源。所以我不得不强迫程序编译成一个x86程序,然后告诉它查看32位的ODBC数据源。要将程序设置为x86,请在Visual Studio中转到项目属性,在顶部的“生成”选项卡下有一个平台下拉列表,然后选择x86。如果没有源代码并且无法将程序编译为x86,则可以右键单击Program.exe并转到“兼容性”选项卡,然后选择适合您的兼容性。
一旦我添加了驱动程序,程序指向正确的驱动程序,所有的工作都会像以前一样。希望这能帮助任何使用旧软件的人。