有ODBC DSN和32位与64位的麻烦

时间:2014-03-25 22:02:51

标签: vb.net 32bit-64bit openedge dsn progress-db

我正在编写一个与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.

2 个答案:

答案 0 :(得分:1)

请参阅以下链接:

https://www.simple-talk.com/sql/database-administration/getting-data-between-excel-and-sql-server-using-odbc--/

http://social.msdn.microsoft.com/Forums/en-US/abf34eea-1029-429a-b88e-4671bffcee76/why-cant-32-and-64-bit-access-database-engine-aceoledb-dataproviders-coexist

Microsoft允许使用32位或64位驱动程序。如果你有office32,那么你有32位驱动程序。第二个链接显示了各种各样的工作。

此致

伊格纳西奥

答案 1 :(得分:0)

我通过在Visual Studio 2019的Commpile选项中的Target CPU = x64中编译我的vb.net代码来解决此问题。