ConnectionStringにOLE DB を指定すると 404 ページが見つかりません

2013年2月15日金曜日 - 投稿者 さい 時刻: 16:13
ASP.NET 4.0 IIS 7 にて開発中の出来事。
32bitのIISのローカル環境で開発し、データベース回りをOle Dbを使って実装。
providerNameはSystem.Data.OleDb、OleDbConnectionを用いてOracle11gに接続していました。
いざ本番環境と同じものにセッティングしたIISにコンテンツを乗せてアクセスしてみると
「404 ページが見つかりません」
エラーが発生。

原因はサーバが64bit版だったこと。
64bitのIISはデフォルトで32bitのアプリケーションが動かないようです。
そしてOle DBは32bitでした。(現時点で32bitまでしかサポートしていない?)
32bitのOleDBを動かすためにはIISに設定をしてやる必要があります。

 設定方法
  1. IISマネージャを起動
  2. 「アプリケーションプール」を選択
  3. 「DefaultAppPool」から「詳細設定」を選択
  4. 全般の項目にある「32ビットアプリケーションの有効化」をFalseからTrueに変更

【参考サイト】
IIS(64ビット版)でJETを使用する。
http://blogs.gine.jp/taka/archives/1417

32bit Application on 64bit IIS7
http://blogs.gine.jp/kusa/archives/131