通過IIS連接oracle時報“Could not load file or assembly 'Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.”
原因:IIS的應用池配置的是64位.net frame.但引用的Oracle.DataAccess.DLL是32位的,導致報錯。
解決辦法:
一、找一個64位的Oracle.DataAccess.DLL文件並放入網站bin目錄內;
二、打開IIS網站目錄下的Web.Config文件。在<configuration>節點內增加如下內容:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
<bindingRedirect oldVersion="2.112.3.0" newVersion="4.112.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
配置說明:
1、assemblyIdentity節點內的name、publicKeyToken分別配置出錯信息中提示的文件名、PublicKeyToken.
2、bindingRedirect節點內 oldVersion配置出錯信息提示的版本號、newVersion配置第一步中64位文件的版本號。