环境
操作系统: server 2003 64位系统
oracle 64位服务端
oracle 32位客户端
32位asp.net项目
问题1:IIS6无法发布32位项目
解决方案:
IIS6上的做法:
1.命令行键入:
cscript.exe %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
即设置IIS6允许32位程序运行在64位机器上
2.重新注册.net frameWorks
%SYSTEMROOT%Microsoft.NETframeworkv2.0.50727aspnet_regiis.exe -i
3.完成之后,看Web服务扩展,应该会多出一个32位的asp.net将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行 。
其它问题:比如Service Unavailable。看一下错误日志,我遇到的是RpcProxy.dll无法加载和无法加载站点/服务的所有 ISAPI 筛选器错误。解决方法:打开iis-->查看“网站”的属性--->ISAPI 筛选器-->把有向下的红箭头的项删除掉-->重启iis-->OK
问题2:网站发布成功后,登录提示ora-12557:tns协议适配器不可加载
产生原因:可能是为了重建OEM配置文件,修改了Windows系统中的PATH环境变量,将服务器的路径设置到了客户端的前面。
解决:将PATH环境变量中的服务器与客户端的bin目录路径调整回来,D:product11.2.0client_1in;D:product11.2.0dbhome_1in;
问题 3:plsql正常登录,网站报“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
解决:
1.打开安装有Oracle客户端的电脑,在安装目录 C:oracleora90BIN 文件夹上右键-》安全选项卡-》点击 编辑---》添加。
2.点击“查找范围”,在下面显示的账户中选择“NTWORK SERVICE” ----将“读取和执行”的权限都赋给他(如果不行就把完全控制给他,这样不安全),子文件夹继承此权限,确定。
3.打开“服务器管理器”-》配置-》 本地用户和组-》组-》adminisgrators-》将Network Service 添加进来,重启(重要)
4.重新启动IIS,在“运行”中输入“IISRESET
问题4:32位项目发布成功后发现原先发布的64位项目失败了
解决 http://goxia.maytide.net/read.php/1678.htm 不过这种方法也不适合IIS 6,暂时也只写了两个批处理在使用时切换32位和64位,暂时也没什么好的方法