База данных с 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 с пакетом обновления 2 (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
2 ответа
Хотя в вашем коде используется поставщик Jet OLE DB, в сообщении об ошибке упоминается поставщик OLE DB для SQL Server. Убедитесь, что вы действительно используете Jet Provider.
Может быть, есть другая часть кода сайта, которая пытается получить доступ к базе данных SQL Server? Проверьте наличие включаемого файла, который выполняет вызов базы данных SQL Server (похоже, сайт использует ASP).