Oracle客户端连接服务端,监听端口是固定的1521。
但是,监听连接后,会随机分配一个端口,并告知客户端连接此端口,获取数据。
这就造成 路由器的端口映射无法设置,使用防火墙的,也会有这个问题。
但是部署在Unix系统上的Oracle,不存在此问题,原因不再深究。
解决如下:在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME x(x目录编号)上新建一个字符串值:USE_SHARED_SOCKET=TRUE。
如果安装了多个目录,则每个类似的目录都要设置。并重启 数据库。
这样设置就是告知Oracle,不要随机分配连接端口,而是总是使用与监听相同的1521端口。
如果你是直接用"猫"上网的,那么外面可以直接 通过你的 [IP]:1433 来访问你的数据库, 如果你是在一个内网中,那么就用路由端口转发 1433定向到你的这个192168 的地址上 然后在把你的外网IP发给别人,他们可以直接通过外面IP来访问你这个电脑上的 MSSQL 了
一般的话还是建议应用(web)通过内网来连接数据库,这样比较安全一些 。如果想公网访问的话需要配置安全组,对外特定的ip 开启 3306 端口。 ,如果没有固定的ip 地址,还是建议找一台 堡垒机(有固定ip的) 来访问。
要点:
1确认服务器端SQL服务端口号是否为:1433
2如果不是1433,配置客户端
3建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。
2 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202114100100 1433
通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。
2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见 二:设置客户端网络实用工具)。
4) 如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)
5) 检查服务器是否在1433端口侦听。如果sql server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接
以上就是关于如何将oracle数据库设为外网访问全部的内容,包括:如何将oracle数据库设为外网访问、怎么让外网用户访问我本地的数据库。都是Sql server 2005的、阿里云怎样设置外网访问mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)