ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
项目技术经验总结一:asp.net+oracle部署,防火墙端口开设

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在开发中,曾经遇到下面的问题,后向Oracle咨询,得以解决,愿和大家共享

环境

    2台Web/Application服务器(Windows2003 server)+1台数据库服务器(oracle9.2),
 业务应用系统基于.Net技术。数据库服务器采用Windows2000 Server操作系统。
   其中一台Web/Application服务器部署与外网,另外一台Web/Application服务器和数据库服务器部署于内网.外网和内网有防火墙隔开。

问题
 
外网的应用服务器安装好OracleClient后,防火墙开设端口1551(Oracle监听端口),外网应用服务器程序仍然不能访问数据库。
原因
For windows platform, the listener spawns a thread when accept an incoming SQL*Net connection and it will listen to a random free port other than the listener port. The connection is redirected to different port, so if the firewall just opens a single port it will not work。
解决方案
To workaround this, we can set a Windows registry value USE_SHARED_SOCKET, put this registry key under your ORACLE registry:\\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME<#>
Create the key USE_SHARED_SOCKET and assign the value TRUE.
After that you need to restart the Oracle service and also the Oracle listener, then it should work.
One problem of this setting is if your listener is down, all the connections will be cut. This is different than Oracle on Unix platform works.
 
补充:如果Oracle安装在UNIX平台下面,则防火墙只需要开设一个端口(同Oracle监听端口)
 




相关文章

相关软件