Microsoft Access 驱动程序:由于系统错误 1114,无法加载指定的驱动程序
Microsoft Access Driver: Specified driver could not be loaded due to system error 1114
我正在尝试使用带有以下代码的 pyodbc 模块连接到 .mdb 数据库:
import pyodbc
MDB = 'C:\Program Files (x86)\OnCourt\OnCourt.mdb'
DRV = '{Microsoft Access Driver (*.mdb, *.accdb)}'
PWD = 'qKbE8lWacmYQsZ2'
conn = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRV,MDB,PWD))
这通常工作得很好,但今天停止工作了,我想不出为什么。这是我得到的错误:
InterfaceError: ('IM003', '[IM003] 由于系统错误 1114,无法加载指定的驱动程序:动态 link 库 (DLL) 初始化例程失败。(Microsoft Access Driver ( *.mdb, *.accdb), C:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\Office16\ACEODBC.DLL). (160) (SQLDriverConnect)')
我认为这不是我尝试访问的数据库的任何特定内容,因为当我尝试从 ODBC 数据源中配置驱动程序时,我也遇到了基本相同的错误:
我遇到了完全相同的问题!我通过卸载驱动程序并从 https://www.microsoft.com/en-us/download/details.aspx?id=54920.
重新安装来修复它
当我第一次尝试 re-install 时,它抱怨说“您无法安装 32 位版本的 access,因为您目前安装了 64 位 Office 产品”并要求我卸载 Office 16 Click-to-Run 扩展组件 64 位注册。所以我按照指示 here 卸载了它,然后安装了驱动程序。我的程序又成功了!
不知道为什么会这样。也许更新以某种方式搞砸了?谁知道。希望对你有用!
更容易修复。设置 -> Add/Remove 程序 -> Select“Microsoft Access 数据库引擎”和 select 修改。
调出安装程序,然后select重新安装。
适合我:)。
有完全相同的问题。
使用多年的 ODBC 应用程序突然停止工作。在 VS 2015 中 运行ning DEBUG 时,显示为“Loader Lock”异常。如果托管异常处理程序被禁用,它仍然拒绝 运行,只显示一个消息框说“操作系统未配置为 运行 此应用程序”。必须通过任务管理器终止应用程序。
使用 \Windows\SysWow64\odbcad32.exe“查看”已安装的 ODBC 驱动程序时得到同样的结果。
我做了完全一样的事情; MS Access 数据库引擎 --> 修改 --> 重新安装 --> 重新安装
问题已解决。
我想下次Office“更新”时它会回来......?谢谢,微软!
ACEODBC.dll 似乎失败了:
我在注册表中找到:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft 访问驱动程序 (*.mdb, *.accdb)]
"Driver"="C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\Office16\ACEODBC.DLL"
"Setup"="C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\Office16\ACEODBC.DLL"
我将以下 2 个注册表项还原为较旧的 JET 版本:(这不是一个很好的解决方案,但却是唯一解决我问题的解决方案)。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft 访问驱动程序 (*.mdb, *.accdb)]
“设置”=hex(2):25,57,49,4e,44,49,52,25,5c,73,79,73,74,65,6d,33,32,5c,6f,64,62 ,
63,6a,74,33,32,2e,64,6c,6c,00
“驱动程序”=hex(2):25,57,49,4e,44,49,52,25,5c,73,79,73,74,65,6d,33,32,5c,6f,64,62 ,
63,6a,74,33,32,2e,64,6c,6c,00
这基本上回到了'%WINDIR%\system32\odbcjt32.dll'
我的症状是 ODBC 在 'REPAIR_DB' 语句上执行。 SQL 调用将完全挂起程序
我正在尝试使用带有以下代码的 pyodbc 模块连接到 .mdb 数据库:
import pyodbc
MDB = 'C:\Program Files (x86)\OnCourt\OnCourt.mdb'
DRV = '{Microsoft Access Driver (*.mdb, *.accdb)}'
PWD = 'qKbE8lWacmYQsZ2'
conn = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRV,MDB,PWD))
这通常工作得很好,但今天停止工作了,我想不出为什么。这是我得到的错误:
InterfaceError: ('IM003', '[IM003] 由于系统错误 1114,无法加载指定的驱动程序:动态 link 库 (DLL) 初始化例程失败。(Microsoft Access Driver ( *.mdb, *.accdb), C:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\Office16\ACEODBC.DLL). (160) (SQLDriverConnect)')
我认为这不是我尝试访问的数据库的任何特定内容,因为当我尝试从 ODBC 数据源中配置驱动程序时,我也遇到了基本相同的错误:
我遇到了完全相同的问题!我通过卸载驱动程序并从 https://www.microsoft.com/en-us/download/details.aspx?id=54920.
重新安装来修复它当我第一次尝试 re-install 时,它抱怨说“您无法安装 32 位版本的 access,因为您目前安装了 64 位 Office 产品”并要求我卸载 Office 16 Click-to-Run 扩展组件 64 位注册。所以我按照指示 here 卸载了它,然后安装了驱动程序。我的程序又成功了!
不知道为什么会这样。也许更新以某种方式搞砸了?谁知道。希望对你有用!
更容易修复。设置 -> Add/Remove 程序 -> Select“Microsoft Access 数据库引擎”和 select 修改。
调出安装程序,然后select重新安装。
适合我:)。
有完全相同的问题。
使用多年的 ODBC 应用程序突然停止工作。在 VS 2015 中 运行ning DEBUG 时,显示为“Loader Lock”异常。如果托管异常处理程序被禁用,它仍然拒绝 运行,只显示一个消息框说“操作系统未配置为 运行 此应用程序”。必须通过任务管理器终止应用程序。
使用 \Windows\SysWow64\odbcad32.exe“查看”已安装的 ODBC 驱动程序时得到同样的结果。
我做了完全一样的事情; MS Access 数据库引擎 --> 修改 --> 重新安装 --> 重新安装
问题已解决。
我想下次Office“更新”时它会回来......?谢谢,微软!
ACEODBC.dll 似乎失败了:
我在注册表中找到:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft 访问驱动程序 (*.mdb, *.accdb)] "Driver"="C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\Office16\ACEODBC.DLL" "Setup"="C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\Office16\ACEODBC.DLL"
我将以下 2 个注册表项还原为较旧的 JET 版本:(这不是一个很好的解决方案,但却是唯一解决我问题的解决方案)。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft 访问驱动程序 (*.mdb, *.accdb)]
“设置”=hex(2):25,57,49,4e,44,49,52,25,5c,73,79,73,74,65,6d,33,32,5c,6f,64,62 ,
63,6a,74,33,32,2e,64,6c,6c,00
“驱动程序”=hex(2):25,57,49,4e,44,49,52,25,5c,73,79,73,74,65,6d,33,32,5c,6f,64,62 ,
63,6a,74,33,32,2e,64,6c,6c,00
这基本上回到了'%WINDIR%\system32\odbcjt32.dll'
我的症状是 ODBC 在 'REPAIR_DB' 语句上执行。 SQL 调用将完全挂起程序