web-dev-qa-db-ja.com

VBScript&Access MDB-800A0E7A-"プロバイダーが見つかりません。正しくインストールされていない可能性があります"

アクセスMDBデータベースに接続するVBScriptに問題があります。私のプラットフォームはVista64ですが、そこにあるリソースの大部分はASP/IIS7用です。

簡単に言うと、接続できません。次のエラーが発生します:800A0E7A-「プロバイダーが見つかりません。正しくインストールされていない可能性があります」

私のコードは:

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

これまでのところ、32ビットモードでドライバを構成するために%WINDIR%\ System32\odbcad32.exeを実行しましたが、トリックは完了していません。どんな提案も大歓迎です

ちょうど追加として、私はこの.vbsスクリプトをダブルクリックして実行できるようにして、それを実行させています。このコードは別の言語/スクリプトに埋め込まれていません。

14
Perma

SysWOW64バージョンでスクリプトを実行する
C:\ Windows\SysWOW64\wscript.exeまたはcscript
C:\ Windows\System32のデフォルトの64ビットバージョンの代わり

17
Nick Giles

Microsoft TechNetの場合 Configuring IIS to run 32-bit Applications on 64-bit Windows(IIS 6.0)

IISを有効にして64ビットWindowsで32ビットアプリケーションを実行するには:

  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ビットアプリケーションを有効にする]を[False]から[True]に変更します。
  5. OKをクリックします

32ビットと64ビットの両方のアプリケーションを実行したい場合は、 Rakki Muthukumar のブログ IIS7-32-bitおよび64-bitの実行)など、さまざまなブログで実行できます。異なるワーカープロセスで同時にASP.NETバージョン

6
Stephen Quan

使うだけ

strConnect = "Provider = Microsoft.ACE.OLEDB.12.; Data Source ="

必要なドライバーをすべて持っている場合

3
Manesh M

または、インターネットインフォメーションサービス(IIS)マネージャー経由:

アプリケーションプールへのアクセス[ASP.NET v4.0 Classic]を右クリックし、[アプリケーションプールのデフォルトを設定...]を選択します。

この設定を変更するとうまくいきます。君たちありがとう.. :)

3
Umut

これをチェック

編集:警告、以下のリンクは2007 Office System Driver:Data Connectivity Componentsのダウンロードに直接移動します。

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

それをインストールし、指示を読んで、すべてが魅力として働いた。

0
DimDqkov

例外が発生するのと同じ問題がありました

プロバイダーが見つかりません。正しくインストールされていない可能性があります

次のマシン構成:-

machine:- window 10
Oracle client installed:- Oracle 12c
provider:- MSDAORA.Oracle (instead of OraOledb)

私たちはこれを解決するためにいくつかのブログを読んで、62から32ビットの相互依存関係を持つOracleクライアント12から11Gバージョンの間の構成の問題とそれ以上のことを述べているすべての投稿が、プロバイダー名を大文字から小文字に変更することで解決しました。

以前のプロバイダー名は:- MSDAORA.Oracle(ここではOracle "O"は大文字です)プロバイダー名は次のとおりです:- MSDAORA.Oracle(ここではOracle "O"は小文字です)

それがあなたのために働くなら、試してください:)

0
vijay Jadon

私はこれを使用しましたが、エラーなく機能しました:

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
harry