如何通过NAT访问oracle?我尝试通过1521端口访问,但是反馈是TNS超时!请问各位我还应该开放哪些端口才行?
(开放1043,访问SQL Server2000没有问题)

解决方案 »

  1.   

    以下是一段Delphi代码:  //远程 Oracle 数据库操作
      OraSession1:= TOraSession.Create(nil);
      with OraSession1 do
      begin
        ConnectPrompt:= false;
        AutoCommit:= false;
        UserName:= 'UID';
        Password:= 'PWD';
        Server:= '10.78.1.132:1521:Orcl2';
        ConnectString:= 'UID/[email protected]:1521:Orcl2';
        Options.Net:= true;
        try
          Connected:= true;
          Connected:= false;
        except
          on e: exception do
            ShowMessage('Oracle 数据库连接失败,'+e.Message, false);
        end;
      end;
      

  2.   

    谢谢,楼上的.
    我现在的问题是:
        安装了oracle9i后通过同一网段的客户端可以正常访问,然后在路由器上为安装oracle的服务器作了NAT转换(即221.130.xxx.xxx 1521 转换到Oracle9i服务器的实际IP:192.168.xxx.xxx 1521).
        然后将该客户端安装到另一网段(与该服务器不在同一网段,该网段连接互连网),当通过公网IP连接oralce数据库,总是提示以下错误:ORA-12541:   TNS:   没有监听器    
       
        请问问题出在哪里?
      

  3.   

    分别telnet 221.130.xxx.xxx:1521 和 192.168.xxx.xxx;1521
    是否成功?
      

  4.   

    记得1521只是一个监听端口,在监听到请求时,oracle会自动为客户端分配一个端口进行连接,这个端口肯定不是1521,这样做NAT自然就不行了。。
      

  5.   

    说明还是NAT出问题了啊
    用TELNET连接一下NAT地址的1521端口试一下.