我正在编写一个与VB.net中的Progress DataBase接口的应用程序。我的开发机器是32位Win 7计算机。我有一个为我需要使用的数据库配置的系统DSN。因为它在32位机器上是32位DSN。
应用程序在我的本地计算机上运行良好,当我尝试将其带到我们的64位计算机之一时出现问题。现在64位机器上似乎安装了32位驱动程序(我打开了C:\Windows\SysWow64\odbcad32.exe
,基于研究,它应该显示我的所有32位系统DSN和所有用户DSN)和一个看似相同的DSN(命名为系统DSN中存在相同的方式和所有内容。
我尝试编译x86
而不是AllCPUs
,但我仍然遇到错误。一些错误如下。
有关如何修复此问题以便在64位和32位计算机上运行的任何建议吗?有没有办法确保64位机器正在使用32位DSN?
我对错误[IM014]的理解是程序在64位机器上找到DSN,但是无法使用它,因为它是32位DSN。
第二个错误的大多数错误都在here上。所有08S01都是"通信链接失败",IM006是"驱动程序的SQLSetConnectOption失败"显然,HY000有20种不同的含义。
DSN Connection String, Target CPU: AllCPUs, 32 Bit Machine : Runs Fine DSN Connection String, Target CPU: AllCPUs, 64 Bit Machine : Error [IM014] DSN Connection String, Target CPU: x86 , 32 Bit Machine : Runs Fine DSN Connection String, Target CPU: x86 , 64 Bit Machine : Error [HY000] [HYC00] [08S01] [08S01] [08S01] [IM006] 'Yes all of those errors on the last one are from one connection attempt.
答案 0 :(得分:1)
请参阅以下链接:
Microsoft允许使用32位或64位驱动程序。如果你有office32,那么你有32位驱动程序。第二个链接显示了各种各样的工作。
此致
伊格纳西奥
答案 1 :(得分:0)
我通过在Visual Studio 2019的Commpile选项中的Target CPU = x64中编译我的vb.net代码来解决此问题。