0

这些是我的症状:(XP Pro,32 位)-
访问 .mdb 数据库的程序(除了 Access 2007 本身)无法获取任何数据。
- 使用 Visual Studio 2008 中的数据源连接到 MDB 显示表,但无法查询。您从 Microsoft JET 数据库引擎收到“未知错误”
-ArcCatalog 无法读取个人地理数据库 (mdb),在打开数据库后它没有任何要素类
- 尝试调出用户 DSN 的属性“MS Access 数据库” 在 ODBC 数据源管理器中返回错误
“找不到 Microsoft Access 驱动程序 (*.mdb, *.accdb) ODBC 驱动程序的安装例程。请重新安装驱动程序。”

我试图重新安装最新的 MDAC(通过将其设置为 windows 2000 的兼容模式)和最新的 JET 驱动程序。重新安装 XP SP3。
还用 dao350.dll 和 dao360.dll 尝试了很多 regsvr32 体操,卸载了 dao350 等等,没有任何效果。

4

1 回答 1

1

(是的,我正在回答我自己的问题,记录我的解决方案)

我还应该注意,除了上述之外,我也无法使用 SQL Native Client 驱动程序。

在注册表中,在 HKLM\SOFTWARE\ODBC 下,\ODBC.INI 分支包含任何已定义的连接,\ODBCINST.INI 包含已安装驱动程序的记录。

我检查了一台类似的开发机器,我的 ODBCINST.INI 缺少很多条目。我责怪最近用于清理我的垃圾系统的 ccleaner 应用程序。

从另一台计算机导出注册表分支并导入我现有的密钥后,一切都恢复了。

下面是一些核心记录,用于生成 .reg 脚本。您应该从与您的机器相似的机器中获取完整列表。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)]
"UsageCount"=dword:00000002
"Driver"="C:\\WINDOWS\\system32\\odbcjt32.dll"
"Setup"="C:\\WINDOWS\\system32\\odbcjt32.dll"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="2"
"FileExtns"="*.mdb"
"SQLLevel"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)]
"UsageCount"=dword:00000003
"Driver"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\ACEODBC.DLL"
"Setup"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\ACEODBC.DLL"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="2"
"FileExtns"="*.mdb,*.accdb"
"SQLLevel"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Excel Driver (*.xls)]
"UsageCount"=dword:00000002
"Driver"="C:\\WINDOWS\\system32\\odbcjt32.dll"
"Setup"="C:\\WINDOWS\\system32\\odexl32.dll"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="1"
"FileExtns"="*.xls"
"SQLLevel"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)]
"UsageCount"=dword:00000003
"Driver"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\ACEODBC.DLL"
"Setup"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE12\\ACEODEXL.DLL"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="2"
"FileExtns"="*.xls,*.xlsx, *.xlsb"
"SQLLevel"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Native Client]
"UsageCount"=dword:00000001
"Driver"="c:\\WINDOWS\\system32\\sqlncli.dll"
"Setup"="c:\\WINDOWS\\system32\\sqlncli.dll"
"APILevel"="2"
"ConnectFunctions"="YYY"
"CPTimeout"="60"
"DriverODBCVer"="09.00"
"FileUsage"="0"
"SQLLevel"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server]
"UsageCount"=dword:00000002
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Setup"="C:\\WINDOWS\\system32\\sqlsrv32.dll"
"SQLLevel"="1"
"FileUsage"="0"
"DriverODBCVer"="03.50"
"ConnectFunctions"="YYY"
"APILevel"="2"
"CPTimeout"="60"
于 2009-09-16T20:35:24.390 回答