「指定されたDSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています」が発生した場合の対処
いつもはJenkinsさんがやってくれるんだけど、事情により手動でやったらハマったのでメモ。
この文言のエラーメッセージでググると↓のが出ます。
64bit OS 環境で 32bit アプリケーションを起動し、ODBC を使ってデータベースなどにアクセスしようとするとタイトルのようなエラーが発生します。
これは管理ツールにある ODBC 接続のプログラムが 64bit 版であることに起因しているためです。23bit アプリケーションで ODBC を使うには 32bit 版の ODBC 接続から登録する必要があります。プログラムは
%WINDOWS%Syswow64\odbcad32.exe (C:\Windows\Syswow64\odbcad32.exe)
[ODBC] エラー:指定されたDSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています | おのでらの創作日記 in ソーサリーフォース
これはこれで、以前ハマりましたがここは正しく設定している。
今回はIISの設定の問題でした。
アプリケーションプール|32ビットアプリケーションの有効化=True
ClassicASPをWin2008R2x64に移設で、エラー '80004005' 発生
具体的な設定は以下のとおり。
- アプリケーションプール内で選択
- アプリケーションプールの編集
- 詳細設定
- 全般
- 32ビットアプリケーションの有効化