VBScript & Access MDB - 800A0E7A - «Поставщик не найден. Возможно, он неправильно установлен» - PullRequest
14 голосов
/ 24 марта 2010

У меня проблема с подключением VBScript к базе данных MDB для доступа. Моя платформа Vista64, но большинство ресурсов для ASP / IIS7.

Проще говоря, я не могу подключить его. Я получаю следующую ошибку: 800A0E7A - «Поставщик не найден. Возможно, он неправильно установлен»

Мой код:

Set conn = CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.MDB"
conn.Open strConnect

До сих пор я запускал% WINDIR% \ System32 \ odbcad32.exe, чтобы попытаться настроить драйвер в 32-битном режиме, но это не помогло. Любые предложения будут с благодарностью

В качестве дополнения я пытаюсь запустить этот скрипт .vbs, дважды щелкнув и позволив ему сделать свое дело. Этот код не встроен в другой язык / скрипт.

Ответы [ 6 ]

16 голосов
/ 07 марта 2011

скрипт запуска с SysWOW64 версия
C: \ Windows \ SysWOW64 \ wscript.exe или cscript
вместо 64-битной версии по умолчанию из C: \ Windows \ System32

6 голосов
/ 10 февраля 2012

В Microsoft TechNet Настройка IIS для запуска 32-разрядных приложений в 64-разрядной версии Windows (IIS 6.0) :

Чтобы разрешить IIS запускать 32-разрядные приложения в 64-разрядной Windows:

  1. Откройте командную строку и перейдите в каталог% systemdrive% \ Inetpub \ AdminScripts.
  2. Введите следующую команду:

    cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
    
  3. Нажмите ENTER.

В качестве альтернативы, через Диспетчер информационных служб Интернета (IIS):

  1. Пулы доступа к приложениям
  2. Щелкните правой кнопкой мыши «ASP.NET v4.0 Classic»
  3. Выберите «Установить значения по умолчанию для пула приложений ...»
  4. В разделе «Общее» выберите «Включить 32-разрядные приложения» с «Ложь» на «Истина»
  5. Нажмите ОК

Если вы хотите запускать как 32-битные, так и 64-битные приложения, для этого есть разные блоги, например, Rakki Muthukumar , блог IIS7 - Запуск 32-битных и 64- битовые версии ASP.NET одновременно на разных рабочих процессах .

3 голосов
/ 03 января 2014

Просто используйте

strConnect = " Provider = Microsoft.ACE.OLEDB.12.0 ; Источник данных ="

если у вас есть все необходимые драйверы

3 голосов
/ 12 июня 2013

В качестве альтернативы, через Диспетчер информационных служб Интернета (IIS):

Доступ к пулам приложений Щелкните правой кнопкой мыши на «ASP.NET v4.0 Classic» Выберите «Установить значения по умолчанию для пула приложений ...» В разделе «Общие» измените «Включить 32-разрядные приложения» с «Ложь» на «Истина» Нажмите ОК

Когда я меняю эти настройки, это работает. спасибо, ребята ..:)

0 голосов
/ 18 декабря 2017

Я использовал это, у меня это работало без ошибок:

sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & myPath & ";HDR=Yes';"
Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

con.Open sconnect
sSQLQry = "SELECT * FROM [" & tableName & "];"
Set rs = con.Execute(sSQLQry)
0 голосов
/ 19 декабря 2011

Проверьте это

РЕДАКТИРОВАТЬ: Внимание, приведенная ниже ссылка ведет прямо к загрузке драйвера системы Office 2007: компоненты подключения данных. http://www.microsoft.com/download/en/confirmation.aspx?id=23734

Установил, прочитал инструкцию и все заработало как брелок.

...