Назад | Перейти на главную страницу

База данных с MS JET после миграции

Я переношу кучу сайтов, каждый из которых использует базу данных Access (или какой-либо другой файл MDB). Если я попытаюсь загрузить сайт, я получаю следующую ошибку:

Microsoft OLE DB Provider for SQL Server error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied

Если я переименую файл MDB, я получаю жалобу на то, что файл не существует, что имеет смысл. Если файл назван правильно, сайт пытается загрузиться в течение примерно 30 секунд, а затем просто терпит неудачу с указанным выше сообщением. В течение этого периода ожидания я вижу, как создается файл блокировки (а затем в какой-то момент удаляется). Файл MDB и его родительский каталог имеют полные разрешения, предоставленные всем пользователям. Учитывая, что файл блокировки успешно создан и удален, я не думаю, что это «настоящая» проблема с разрешениями.

Операционная система - Windows Server 2003 SP2. Я не уверен в более подробной информации о его конфигурации с базами данных Access. Я также не знаю, какая версия ожидается.

Код VB, о котором идет речь:

set oConn=server.createobject("adodb.connection")
DSNtemp="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\fullPathGoesHere\db\sitedb.mdb"
oConn.Open DSNtemp

Может быть, есть другая часть кода веб-сайта, которая пытается получить доступ к базе данных SQL Server? Проверьте наличие включаемого файла, который выполняет вызов базы данных SQL Server (похоже, сайт использует ASP).

Хотя в вашем коде, похоже, используется поставщик Jet OLE DB, в сообщении об ошибке упоминается поставщик OLE DB для SQL Server. Убедитесь, что вы действительно используете Jet Provider.