фон«Microsoft.ACE.OLEDB.12.0” не распознается в Windows 10
Я занимаюсь разработкой приложений для Windows Form, который подключается к базе данных Microsoft Access.
Это пример кода, который Я использую в разработке:
try
{
string AccessFilePath = @"\.myDataBase.mdb"; // Path of the Access database.
string sqlStatement = "SELECT * FROM myTable WHERE IdTable = 5;";
string connstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AccessFilePath;
OleDbConnection conn = new OleDbConnection(connstr);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlStatement;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox("Error: " + ex.Message);
}
следующий список описывает среду моего развития:
- Visual Studio 2015 Community
- Решение создано в Framework .NET 4.0
- Операционная система: Windows 10 Pro - 64 бит.
- Эта разработка должна работать на Windows XP, Windows 7 и более поздних версиях.
Я уже установил:
- 2007 Office System Driver: Data Connectivity Components
- Microsoft .NET 4.0(в Windows XP и другие компьютеры, которые он нужен)
Вопросы
В моем компьютере , который имеет Windows 10 Pro OS, я ищу в C:/ жесткого диска, и я обнаружил, что ACEOLEDB.DLL уже установлен в следующих местах:
Это перед тем установка компонентов подключения данных:
- C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16
- C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15
- C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14
Нажмите, чтобы увеличить изображение:
Когда я установил компонент связности данных в моем ПК, ACEOLEDB.DLL расположен по адресу:
- C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared
Я действительно не знаю, почему даже после установки компонентов подключения данных Я все еще получаю эту ошибку:
"The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine"
Вопросы
- Как компоненты подключения данных обрабатываются в ОС?
- Как правильно утверждать, если в ОС установлены компоненты подключения к данным?
Платформа Цель: x86? – LarsTech
@LarsTech находится в _Any CPU_ –
Измените его на x86. – LarsTech