我有一个VB6遗留应用程序,它使用32位ADO驱动程序使用ODBC建立数据库连接。
现在客户已经安装了64位版本的数据库,我收到一个错误:
[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
错误源:用于ODBC驱动程序的Microsoft OLE DB提供程序
我检查了网络但找不到Windows Server 2012的64位OLEDB驱动程序。有一个Windows Server 2003的链接。
有人可以确认驱动程序是否存在并发布链接以下载它们吗?感谢。
编辑1: 这个问题不同于:Migrating VB6 code to use 64-bit ODBC DSN
这个问题更多的是关于下载64位ODBC驱动程序,而那个问题是关于代码更改。
编辑2: 即使我找到64位驱动程序,我的VB6应用程序也是32位。 32位应用程序可以使用64位驱动程序吗?请注意,排除了安装32位版本的数据库。
答案 0 :(得分:1)
您的旧版VB6应用程序是32位OLE DB使用者。因此,它需要32-bit OLE DB Provider for ODBC Data Sources和32-bit ODBC Driver,例如my employer或其他各种来源。
VB6应用程序将一些库加载到共享内存中,所有这些都与位数相匹配 - VB6应用程序,它加载的OLE DB提供程序,在这种情况下,加载的ODBC驱动程序 ,在某些情况下,加载的其他库。
通信然后(通常)在客户端库(即ODBC驱动程序)和服务器之间(通常)发生TCP / IP堆栈或其他网络层 - 不必在位数上达成一致 - 方(即DBMS)。
目标DBMS和应用程序的主机操作系统现在都是64位并不重要。