【发布时间】:2023-04-06 22:32:01
【问题描述】:
所以我了解到,用于查询 Microsoft Access MDB 文件和 Excel 电子表格等数据源的 Microsoft.Jet.OLEDB.4.0 数据提供程序在 Windows 64 位操作系统下无法运行。
我现在应该使用什么来查询 .NET 3.5 (C#) 应用程序中的这些文件类型,以确保在 x86 和 x64 环境中的兼容性?似乎无法找到关于如何处理这种不兼容性的直接答案。
我也尝试过使用 ODBC 提供程序和 MSDASQL 提供程序,但没有成功,因为它们似乎会抛出与 Microsoft.JET.OLEDB.4.0 提供程序在 x64 环境中使用时相同的异常(除非我正在做某事这两个提供程序明显错误,即使它们在我的 Windows XP x86 环境下运行良好)。
我发现有人说我需要在 x64 系统中使用 %WINDIR%\System32\odbcad32.exe 进行 ODBC 连接,但我知道如何使用它。
x64 下抛出的示例异常:
**************异常文本************** System.InvalidOperationException:“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。 在 System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString 常量,DataSourceWrapper & datasrcWrapper) 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString 常量,OleDbConnection 连接) 在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions 选项,对象 poolGroupProviderInfo,DbConnectionPool 池,DbConnection owningObject)
【问题讨论】: