Подключение к базе данных Access с помощью Jet - PullRequest
1 голос
/ 16 марта 2011

Я пытаюсь подключиться к базе данных Access с помощью Jet в Visual Studio 2008, например, -

dbProvider = "PROVIDER = Microsoft.Jet.OLEDB.4.0;"

Затем поискмой исходный файл для чтения и открытия и закрытия его -

con.Open () con.Close ()

Но я получаю сообщение об ошибке во время выполнения -

' Поставщик «Microsoft.Jet.OLEDB.4.0» не зарегистрирован на локальном компьютере '

Я работаю под управлением Windows 7, и файл msjet40.dll находится в окне SysWOW64.папка.

Любой совет будет высоко ценится, ура.

Ответы [ 2 ]

3 голосов
/ 17 марта 2011

Это, вероятно, означает, что вы пытаетесь подключиться с помощью 32-разрядного приложения к 64-разрядному драйверу или наоборот.Поэтому вам нужно либо изменить разрядность вашего exe-файла, либо установить соответствующий драйвер доступа: Microsoft Access Database Engine 2010 Redistributable

0 голосов
/ 17 марта 2011

Jet не работает изначально на X64 .. Но SQL Server работает! ~

Как получить x64 версию Jet? http://blogs.msdn.com/b/psssql/archive/2010/01/21/how-to-get-a-x64-version-of-jet.aspx

У нас было несколько человек, спрашивавших, как они могут получить драйвер Jet ODBC / поставщик OLE DB как 64-битный. Windows поставляет только 32-битные версии. Ответ заключается в том, что версии Windows не будут иметь 64-разрядную версию, поскольку эти элементы устарели. Что значит устаревший? Вот выдержка из дорожной карты MDAC / WDAC на MSDN:

Deprecated MDAC/WDAC Components

These components are still supported in the current release of MDAC/WDAC, but they might be removed in future releases. Microsoft recommends, when you develop new applications, that you avoid using these components. Additionally, when you upgrade or modify existing applications, remove any dependency on these components.

И вот что он перечисляет о Jet Database Engine:

Microsoft Jet Database Engine 4.0: Starting with version 2.6, MDAC no longer contains Jet components. In other words, MDAC 2.6, 2.7, 2.8, and all future MDAC/WDAC releases do not contain Microsoft Jet, the Microsoft Jet OLE DB Provider, the ODBC Desktop Database Drivers, or Jet Data Access Objects (DAO). The Microsoft Jet Database Engine 4.0 components entered a state of functional deprecation and sustained engineering, and have not received feature level enhancements since becoming a part of Microsoft Windows in Windows 2000.


There is no 64-bit version of the Jet Database Engine, the Jet OLEDB Driver, the Jet ODBC Drivers, or Jet DAO available. This is also documented in KB article 957570. On 64-bit versions of Windows, 32-bit Jet runs under the Windows WOW64 subsystem. For more information on WOW64, see http://msdn.microsoft.com/en-us/library/aa384249(VS.85).aspx. Native 64-bit applications cannot communicate with the 32-bit Jet drivers running in WOW64.


Instead of Microsoft Jet, Microsoft recommends using Microsoft SQL Server Express Edition or Microsoft SQL Server Compact Edition when developing new, non-Microsoft Access applications requiring a relational data store. These new or converted Jet applications can continue to use Jet with the intention of using Microsoft Office 2003 and earlier files (.mdb and .xls) for non-primary data storage. However, for these applications, you should plan to migrate from Jet to the 2007 Office System Driver. You can download the 2007 Office System Driver, which allows you to read from and write to pre-existing files in either Office 2003 (.mdb and .xls) or the Office 2007 (*.accdb, *.xlsm, *.xlsx and *.xlsb) file formats. IMPORTANT Please read the 2007 Office System End User License Agreement for specific usage limitations. 
...