![访问 ODBC 驱动程序](https://linux22.com/image/547002/%E8%AE%BF%E9%97%AE%20ODBC%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我需要将一堆数据从 Access 数据库迁移到 MySQL 服务器。我在 ColdFusion 中编写了一个迁移,但是当我在 CF 管理员上创建 ODBC 连接时,出现了错误。确切的错误是:
Connection verification failed for data source: cpep_access
java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application
The root cause was that: java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application
当我尝试在 Windows ODBC 管理工具中创建 ODBC 连接时,我发现我没有驱动程序。我认为驱动程序不存在是 CF Admin 错误的根本原因。
我正在运行 Windows Server 2008 R2 x64,想知道是否有人可以向我指出适用于 Windows 的 ODBC 驱动程序?
答案1
Microsoft Jet 数据库引擎 4.0:从版本 2.6 开始,MDAC 不再包含 Jet 组件。换句话说,MDAC 2.6、2.7、2.8 和所有未来的 MDAC/WDAC 版本都不包含 Microsoft Jet、Microsoft Jet OLE DB 提供程序、ODBC 桌面数据库驱动程序或 Jet 数据访问对象 (DAO)。Microsoft Jet 数据库引擎 4.0 组件进入了功能弃用和持续工程的状态,并且自 Windows 2000 中成为 Microsoft Windows 的一部分以来,没有获得功能级别的增强。
没有可用的 64 位版本的 Jet 数据库引擎、Jet OLEDB 驱动程序、Jet ODBC 驱动程序或 Jet DAO。KB 文章 957570 中也记录了这一点。在 64 位版本的 Windows 上,32 位 Jet 在 Windows WOW64 子系统下运行。有关 WOW64 的更多信息,请参阅 http://msdn.microsoft.com/en-us/library/aa384249(VS.85).aspx. 本机 64 位应用程序无法与在 WOW64 中运行的 32 位 Jet 驱动程序通信。
在开发需要关系数据存储的新的非 Microsoft Access 应用程序时,Microsoft 建议使用 Microsoft SQL Server Express Edition 或 Microsoft SQL Server Compact Edition,而不是 Microsoft Jet。这些新的或转换的 Jet 应用程序可以继续使用 Jet,但要使用 Microsoft Office 2003 及更早版本的文件(.mdb 和 .xls)进行非主数据存储。但是,对于这些应用程序,您应该计划从 Jet 迁移到 2007 Office System Driver。您可以下载 2007 Office System Driver,它允许您读取和写入 Office 2003(.mdb 和 .xls)或 Office 2007(*.accdb、*.xlsm、*.xlsx 和 *.xlsb)文件格式的现有文件
这意味着您可以安装 32 位版本,但您的应用程序也必须是 32 位才能访问它们。
如果您想从 Windows 管理工具配置 ODBC 设置,您需要使用位于 %systemdrive%\Windows\SysWoW64\Odbcad32.exe 的 32 位版本。