У меня есть приложение asp, находящееся на сервере Windows 2003 -32bit, а серверная часть для приложения - MS Access 2000. Когда я обновляю его до MS Access 2010, оно выдает ошибку: «Нераспознанный формат базы данных». Я даже пытался обновить драйвер Access на сервере, но не повезло. Что мне не хватает?
Миграция серверной части веб-приложения MS Access 2003 на MS Access 2010
Ответы (2)
Убедитесь, что у вас установлены драйверы ACE. Вы сказали, что обновили драйвер Access на сервере, но я не уверен, что вы действительно установили драйверы, необходимые для нового формата .accdb.
По умолчанию Windows содержит только драйверы для Jet, которые позволяют использовать базы данных .mdb
Access без установки чего-либо нового.
С другой стороны, новый формат Access 2007/2010 '.accdb
требует отдельной установки драйверов.
Вам также необходимо убедиться, что ваша строка подключения к базе данных обновлена:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Mode=16;Data Source=C:\...\mydb.accdb;user id=;password=;";
В дополнение к обновлению самого файла базы данных с .mdb на .accdb вам потребуется внести два изменения на сервере:
Вам потребуется загрузить и установить компонент Access Database Engine, доступный здесь. а>.
Вам также потребуется обновить сведения о подключении для приложения ASP. Для подключения без DSN вам потребуется обновить строку подключения до одного из форматов, описанных здесь. Например, строку подключения OLEDB необходимо обновить до
Provider=Microsoft.ACE.OLEDB.12.0;
.