アクセス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スクリプトをダブルクリックして実行できるようにして、それを実行させています。このコードは別の言語/スクリプトに埋め込まれていません。
SysWOW64バージョンでスクリプトを実行する
C:\ Windows\SysWOW64\wscript.exeまたはcscript
C:\ Windows\System32のデフォルトの64ビットバージョンの代わり
Microsoft TechNetの場合 Configuring IIS to run 32-bit Applications on 64-bit Windows(IIS 6.0) :
IISを有効にして64ビットWindowsで32ビットアプリケーションを実行するには:
次のコマンドを入力します。
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
Enterキーを押します。
または、インターネットインフォメーションサービス(IIS)マネージャー経由:
32ビットと64ビットの両方のアプリケーションを実行したい場合は、 Rakki Muthukumar のブログ IIS7-32-bitおよび64-bitの実行)など、さまざまなブログで実行できます。異なるワーカープロセスで同時にASP.NETバージョン 。
使うだけ
strConnect = "Provider = Microsoft.ACE.OLEDB.12.; Data Source ="
必要なドライバーをすべて持っている場合
または、インターネットインフォメーションサービス(IIS)マネージャー経由:
アプリケーションプールへのアクセス[ASP.NET v4.0 Classic]を右クリックし、[アプリケーションプールのデフォルトを設定...]を選択します。
この設定を変更するとうまくいきます。君たちありがとう.. :)
これをチェック
編集:警告、以下のリンクは2007 Office System Driver:Data Connectivity Componentsのダウンロードに直接移動します。
http://www.Microsoft.com/download/en/confirmation.aspx?id=23734
それをインストールし、指示を読んで、すべてが魅力として働いた。
例外が発生するのと同じ問題がありました
プロバイダーが見つかりません。正しくインストールされていない可能性があります
次のマシン構成:-
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"は小文字です)
それがあなたのために働くなら、試してください:)
私はこれを使用しましたが、エラーなく機能しました:
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)