Migrating VB6 code to use 64-bit ODBC DSN

匆匆过客 提交于 2019-12-12 03:48:25

问题


I have a legacy VB6 application, which is making ODBC connections to a proprietory 3rd party database using ODBC.

Dim con As Object '  New ADODB.Connection
Set con = CreateObject("ADODB.Connection")
con.Open ("DB64bitDSN")

It used to work until now. Recently they have installed 64 bit version of the 3rd party database. The 3rd party database automatically creates a 64 bit ODBC DSN during installation, and the same is working when I connect using Excel's Data Connection Wizard, and using ODBC DSN as the data source.

But my code is giving error:

Error Description: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

Error Source: Microsoft OLE DB Provider for ODBC Drivers

How should I change my code to make it work? Do I need to add a reference to any library and modify my code?

Thanks.


回答1:


You do not need to change the code. You need to ask "them" to create a 32-bit ODBC DSN. VB6 requires this in order to connect.

There is more information on this Microsoft page.

Extract from the page

To manage a data source that connects to a 32-bit driver under 64-bit platform, use c:\windows\sysWOW64\odbcad32.exe.



来源:https://stackoverflow.com/questions/39875522/migrating-vb6-code-to-use-64-bit-odbc-dsn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!