Соединение с базой данных Access в Classic ASP с использованием объекта ADODB - PullRequest
1 голос
/ 07 марта 2012

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

Я обращаюсь к базе данных доступа и получаю следующую ошибку.

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified    
/default1.asp, line 30

Виновна эта

Set MyConn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("c:\database\MyDatabase.mdb") 
  1. Ну, у меня не установлен Access, но я скопировал файл .mdb в указанную папку, он будет работать таким образом? Я знаком с SQL Server, и он должен работать для извлечения данных из него.

  2. Он использует ADODB, но я не могу подать DLL. Может кто-нибудь указать DLL для меня. Что я должен сделать, чтобы это заработало. Просто регистрация будет работать, используя regsvr32 my.dll?

  3. Мне не удалось найти строку подключения (я обычно использую строку подключения для подключения к моему SQL Server). Нужен ли он для базы данных Access в этом случае?

Пожалуйста, помогите

1 Ответ

2 голосов
/ 07 марта 2012

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

Да, только файл должен работать.Доступ не должен запускаться, он просто должен прочитать файл.Однако вам может потребоваться установить определенные компоненты для связи с базой данных Access (раньше это был MDAC - http://www.microsoft.com/download/en/details.aspx?id=1953,, не уверенный на 100%, если это так и есть).MDAC содержит механизм JET, который классический ASP использует для общения с файлами Access.

Что касается строки подключения, этот веб-сайт, который предоставляет несколько примеров строк подключения доступа: http://connectionstrings.com/access

edit - добавление дополнительной информации

На случай, если я не буду правильно следовать комментариям, вот пример того, как подключиться к базе данных Access через Classic ASP:

Set MyConn = Server.CreateObject("ADODB.Connection")
MdbFilePath = "c:\database\MyDatabase.mdb" ''# Server.MapPath is not needed, since we are providing the whole path already
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & MdbFilePath

При запуске кода выше, вы все еще получаете ошибку?Кроме того, какие настройки вы используете (IIS7, IIS6, 32 бита, 64 бита)?

...