Earlier today, I blogged about the connection problem between IIS and Oracle. I finally found the answer. The problem is actually very simple, it is related to NTFS File permission.
All this time I thought that when you give a user permission to a parent folder, the permission will automatically inherited by the child folders and files (if you click the Advanced button in Folder’s Properties – Security tab, the “Inherit from parent the permission entries that apply to child objects. ….” is checked by default).
So I did add full-control permission to the Oracle Home folder for the IIS Anonymous User account as recommended by Microsoft Knowledge Base. But it didn’t help.
After trying to use the Oracle OLE DB Provider (provided by Oracle, previously using the one provided by Microsoft), I encountered a new error message. I googled for it, and I found that I must REPLACE the child objects’ NTFS security permission in the Oracle Home Folder to make the parent’s folder NTFS security permission transcended to the child objects.
So remember, after added the IIS Anonymous User (IUSR_…) to Oracle Home’s folder, we need to force the permission to apply to its child folders and files. Hopefully the following screenshots will help.