windows 2003 IISのASPスクリプトからOracleへアクセスできない。

[WWWサーバ]

[DBサーバ]

な環境で、ASPからOracleへアクセスできない。何故か?という調査依頼が入ったので調査してみた。


紆余曲折した結果、下記にたどり着く。

IIS ASP/ASP.NET で 9.2/10.1 以降のミドルウェアを使用した場合にエラーが発生する

要は、IISASPスクリプト実行時ユーザー*1に、Oracle Client*2が入っているORACLE_HOMEへのアクセス権が無いからダメなのよ。ってことでした。
ASPスクリプト実行時ユーザーに、ORACLE_HOMEへのアクセス権を付与して解決。

絵にするとこんな感じ。
http://untold.sakura.ne.jp/imgs/blog/o1.jpg
http://untold.sakura.ne.jp/imgs/blog/o2.jpg


その他参考サイト
MS IIS解説サイト
ASP講座
ASP Web アプリケーションのデバッグ
クラシックASPでデバッグする方法
セキュアWEBプログラミングASP編
件名:Authenticated Usersについて
Oracle Objects for OLE(OO4O)
oo4o を使う場合の Oracle Client 最小構成
Oracle Database 10g のOracle Objects for OLE

windows 2003、IISASP、Oracle10gとどれもこれも初めて触るものばかりだったんで、正直不安でした。
こういう場合は基本に忠実にってことで、公式サイトのドキュメントを読み、作業計画を立てて1つ1つ課題をつぶしていくと、多少の紆余曲折はあったものの意外とあっさり完成。
久々に先輩の名言「俺って天才♪*3」が頭をよぎりました。*4

*1:インターネット・ゲスト・アカウント。デフォルトはIUSR_<マシン名>

*2:厳密にはoo4oの在り処

*3:エンジニアだったら誰でも1度は思うハズ

*4:実は先週よぎったばかり。どうでもいいかw