Устройство, действующее как веб-сервер, должно иметь установленный «Microsoft Access Database Engine 2010». Если на этой машине не установлен Access, вы можете загрузить установщик для двигателя here.
Обратите внимание, что 64-разрядный установщик включает только 64-разрядную версию ; он не включает 32-битную версию (доступен отдельно на той же странице).
редактировать ...
Что касается строки соединения, я просто проверял следующий VBScript на моей машине Access_2013 и она работала хорошо.
Option Explicit
Dim con, rst
Set con = CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Gord\Desktop\Database1.accdb;Persist Security Info=False;"
Set rst = CreateObject("ADODB.Recordset")
rst.Open "SELECT Col1 FROM Table1", con
Wscript.Echo rst(0).Value
rst.Close
Set rst = Nothing
con.Close
Set con = nothing
Я скопировал строку соединения с connectionstrings.com.
редактировать ...
Если у вас есть доступ к веб-серверу, вы можете проверить наличие следующих двух файлов:
C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL
C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL
На 64-битной машине в первый файл указывает, что установлена 64-разрядная версия компонента Database Database Engine. На 32-битной машине это означает, что установлена 32-разрядная версия.
Если существует второй (x86) файл, то вы знаете, что 32-разрядная версия Database Database Engine присутствует на 64-разрядной машине.
редактировать Re: заключительный комментарий
Проблема действительно была связана с "разрядности" базы данных Access Engine:
i install "Microsoft Access Database Engine 2010" 64 bit i should install 32bit due to my visual studio is 32bit thanks for the advice
Вы подтвердили, что 'Page.Server.MapPath()' возвращает допустимый путь, потому что в противном случае эта строка подключения кажется прекрасной. Вы можете найти строки соединений [здесь] (http://www.connectionstrings.com). – BenFradet
Это моя база данных, которую я уже проверяю. – wesleylim1993
Я сделал другое изменение в своем ответе. –