问题标签 [jet-ef-provider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
52 浏览

entity-framework-core - 对 Microsoft 数据库引擎运行时 2010 的意外(?)依赖

我正在使用带有 Jet-Provider 的 EntityFrameworkCore 来连接到 mdb 文件。我正在使用带有以下连接字符串的 OleDB 驱动程序

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin; Data Source={0};Mode=Share Deny None;Jet OLEDB:Database Password={1};

一切都按我的预期工作,但我们发现当我们尝试在没有安装 MS Access 或 Access Database Engine 2010 运行时的情况下运行应用程序时出现异常。然而,在我们之前的应用程序中,我们没有这种依赖关系。在那里,我们使用了 ADO 组件,它看起来“开箱即用”。

例外:

无法使用 DAO 创建数据库“C:\Users<用户名>\AppData\Roaming\xxxx\db.mdb”。---> System.Runtime.InteropServices.COMException: Die COM-Klassenfactory für die Komponente mit CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80040154 Klasse nicht HRESULT (Ausnahme: 0x80040154 (REGDB_E_CLASSNOTREG))。

有没有办法通过 ef 核心提供程序实现这一目标?如果不是,为什么?