2010-03-24 2 views
12

У меня возникла проблема с подключением VBScript к базе данных MDB доступа. Моя платформа - Vista64, но большинство ресурсов для ASP/IIS7.VBScript & Access MDB - 800A0E7A - «Поставщик не найден. Возможно, он не установлен правильно»

Проще говоря, я не могу подключить его. Я получаю следующее сообщение об ошибке: 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, дважды щелкнув и разрешив ему это сделать. Этот код не встроен в другой язык/скрипт.

+1

Is C: \ WINDOWS \ system32 \ Msjetoledb40.dll присутствует на вашей машине? Также попробуйте создать файл с именем test.udl и запустить его. Появляется ли поставщик Microsoft.Jet.OLEDB.4.0 в списке поставщиков? – dudeNumber4

+0

C: \ WINDOWS \ system32 \ msjetoledb40.dll нет на компьютере и Microsoft.Jet.OLEDB.4.0 не отображается в списке провайдеров – Perma

+0

Тогда вам, похоже, понадобится установить MDAC: http: // www .microsoft.com/downloads/details.aspx? familyid = 6C050FE3-C795-4B7D-B037-185D0506396C & displaylang = ru Я не знаю, зачем вам это нужно, поскольку он был частью ОС в течение многих лет, но он ничего не должно повредить ... – dudeNumber4

ответ

15

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

+0

+1 - У нас была аналогичная проблема, и это разрешило это для меня. – JNK

0

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

РЕДАКТИРОВАТЬ: Внимание, приведенная ниже ссылка прямо на загрузку драйвера системы Office 2007: компоненты подключения к данным.

http://www.microsoft.com/download/en/confirmation.aspx?id=23734

установлен, читайте инструкцию и все работало как шарм.

6

В Microsoft TechNet Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0):

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

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

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

Кроме того, с помощью Internet Information Services (IIS):

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

Если вы хотите запускать как 32-разрядные, так и 64-разрядные приложения, для этого есть разные блоги, например, Rakki Muthukumar блог IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes.

3

Кроме того, с помощью Internet Information Services (IIS):

Access Application Pools правой кнопкой мыши на "ASP.NET v4.0 Классический" Выберите "Set Application Pool Defaults ..." Под общим изменением «Включить 32-разрядные приложения» от «False» до «True» Нажмите OK

При изменении этих настроек он работает. спасибо ребята .. :)

2

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

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

, если вы «ве все необходимые драйверы

0

я использовал это он работал для меня без каких-либо ошибок:

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) 
Смежные вопросы