我正在编写一个应用程序来与VB.net中的Progress DataBase接口。我的开发机器是32位Win 7计算机。我为我需要使用的数据库配置了一个System DSN。由于它在32位机器上是32位DSN。在使用ODBC DSNs和32位vs 64位时遇到问题
应用程序在我的本地计算机上运行良好,当我尝试将其传送到我们的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.
你有抬头的错误代码?根据应用程序是32位还是64位,您在64位系统上获得不同代码的事实表明实际问题可能不同。 – jmcilhinney
是的,我查了错误。那么它会有什么建议呢?我的连接字符串不能简单得多。 'DSN = blackring; uid = demo; pwd = demo'所有端口和其他东西都在DSN中设置,当我点击测试连接时,它们工作正常。 – PsychoData
这也是关于连接字符串中的DSN和DSN的使用。如果你认为所有的数据库供应商都是第三方产品,那么oracle,Mssql,mysql,PostGres和其他所有的产品都将成为主题。 – PsychoData