Проблемы с открытием базы данных доступа из Delphi 7 - PullRequest
0 голосов
/ 22 октября 2009

Я занимаюсь разработкой приложения Delphi 7, которое работает с Access Database (формат MDB). Он отлично работает на моем ПК, а также на некоторых других ПК. Но на некоторых машинах приложение выдает ошибку при попытке доступа к базе данных иногда, говоря что-то вроде «Unkown database format (mdb)». Кроме того, я заметил одну вещь: когда вы открываете эту базу данных в MS Access с помощью Office, она почему-то открывается в режиме «только для чтения». Кто-нибудь может помочь? В чем может быть причина проблемы?

Ответы [ 5 ]

2 голосов
/ 22 октября 2009

Прошло много времени с тех пор, как я программировал в Delphi, но я помню, что у меня были проблемы с разными версиями MDAC. Сравните версии между ПК, которые работают, и теми, которые не работают.

1 голос
/ 24 октября 2009

Я думаю, что ваша наиболее вероятная проблема связана с MDAC, используйте реестр, чтобы проверить, какая версия на каждой машине, и посмотреть, есть ли разница между теми, которые работают, и теми, которые не работают.

1 голос
/ 23 октября 2009

Для какой версии Access отформатирован MDB? Используете ли вы DAO или ADO для доступа к базам данных. МДБ в 2003 или 2007 году? Я подозреваю, что это в формате A2007, и на машинах, с которыми вы испытываете проблемы, установлен A2003 или вообще отсутствует версия Access. В то время как на работающих машинах установлен A2007. Но это только предположение.

Вам также необходимо отследить проблему только для чтения.

1 голос
/ 22 октября 2009

Раньше я получал это сообщение об ошибке, если файл базы данных (файл mdb) фактически был доступен только для чтения (например, если он был скопирован с компакт-диска). Проверьте свойства файла в проводнике Windows и убедитесь, что файл не только для чтения.

Кроме того, вы пытались выполнить сжатие и восстановление в Access, поскольку базы данных Access регулярно повреждаются, и этот параметр часто помогает вызвать всевозможные проблемы.

0 голосов
/ 23 октября 2009

Вы говорите: «Он отлично работает на моем ПК, а также на некоторых других ПК».

Тогда звучит так, как будто в вашей программе нет ничего плохого. Может случиться так, что на ПК, на которых он не будет работать постоянно, не установлен Microsoft Office или, по крайней мере, установлен Microsoft Access Для работы ADO им необходимо установить Access.

«Иногда» проблему на машине трудно диагностировать без дальнейших подсказок.

Боюсь, я не знаю, в чем проблема "Только для чтения".

...