Вместо Microsoft.Jet.OLEDB ... вы должны использовать Microsoft.ACE.OLEDB ... в строке подключения в Win7. Дополнительную информацию можно получить на сайте www.connectionstrings.com в разделе accdb . Вы можете подключиться к файлу DBF в виде таблицы и запросить данные / схему.
Если ваша Win7 64-битная, а MS Office 32-битная (Taskmanager winword.exe * 32), драйверы ACE будут установлены в 32-битном режиме и, следовательно, ваша программа / исходный код не будет подключаться к файлу DBF.
Как найти.
Откройте 32-битный эмулятор ODBC в C: \ windows \ sysWoW64 \ odbcad32.exe и перейдите на вкладку «Драйверы». Вы должны увидеть множество драйверов для подключения, в которых вы найдете поставщика ACE.
Откройте 64-битный администратор ODBC в C: \ windows \ system32 \ odbcad32.exe и перейдите на вкладку «Драйверы». Вы должны видеть только драйвер «SQL-сервер» или несколько драйверов, специфичных для 64-разрядных систем, но не драйвер ACE.
Решение
- Скомпилируйте текущую программу в режиме x86, чтобы использовать драйверы 32-битного эмулятора.
- Другое решение - найти 32-разрядную версию MS Office и получить 64-разрядную версию. Это решит все проблемы автоматически.
Удачи
Venkat