如何通过互联网访问ORACLE数据库?也就是我在本地的一个WINFORM来访问远程ORACLE数据库.都不在一个网段内,例如本地IP:111.111.141.1,ORACLE的IP:100.20.22.111.
我又不想在本地装ORACLE客户端,也就是直接用程序连上IP:100.20.22.111的数据库,怎么弄?

解决方案 »

  1.   

    本地不装客户端,去访问ORACLE是不可能的,远程要访问的话,只要开放端口就行了
      

  2.   

    开放端口也可以,就是不能在本地装客户端,怎么办?
    连接字符串能不能写成如:"server=100.20.22.111,PORT = 1521;....."之类的????
    有没有别的办法?
      

  3.   

    办法是有,就是你用BS架构的,页面放在服务器上,就不需要客户机装ORACLE客户端了
      

  4.   

    不是啊,我的是C/S,是WINFORM,如果是WEB形式就没那么多麻烦事了
      

  5.   

    装了客户端,就配置TNS啊,可以直接修改orcale\ora92\network\ADMIN下的tnsnames.ora文件
    比如
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 100.20.22.111)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )
    然后程序里写上连接字符串"User ID=; Password=; Data Source=orcl"
      

  6.   

    楼上的说法适合在局域网内,可是我现在要连外网上的ORACLE数据库服务器.怎么办?
    楼上的说法,我试了,不行
    听说要在服务器上配置什么服务名,可是不知道怎么配置啊
    郁闷....................
      

  7.   

    我的意思是说,ORACLE数据库服务器在北京,IP:100.20.22.111  PORT = 1521
    客户端在广州 IP:111.111.141.1   PORT = 1521
    怎么连接???
      

  8.   

    当然是适合局域网喽,你如果通过互联网访问,那么你的ORACLE服务器应该还有个外网地址啊
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 内网地址)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 外网地址)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )
    这样写就行了啊
    当然你服务器上肯定要配置这个外网IP进行监听的
      

  9.   

    我的意思是说,ORACLE数据库服务器在北京,IP:100.20.22.111  PORT = 1521
    客户端在广州 IP:111.111.141.1   PORT = 1521
    怎么连接?
    ========================================================================
    你说的都是内网地址,只有在内网里连才效的,如果在互联网上联,则要通过VPN来实现
    如果没有VPN,则一定要服务器有外网地址,否则是不可能实现
      

  10.   

    不过你的ORACLE暴露在外网,是件风险很大的事,所以一般不会采用这种方式
    一般是用BS架构,或者用VPN的方式,实在是要外网直接访问ORACLE,建议在路由器上做访问策略
    对能访问ORACLE的外网IP做限制
    比如你上网的IP是211.220.XXX.XXX
    在北京的路由器上访问策略做个允许211.220.XXX.XXX可以访问ORACLE
      

  11.   

    有服务器的外网地址,和端口号,应该如何在客户端和服务器端怎么设置?
    ===================================================================客户端只要改tnsnames.ora
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 内网地址)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 外网地址)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )服务器增加个监听的,具体的你看下原来的监听配置,只要把内网地址改成外网的就行了
    另外要在防火墙上把端口允许访问,再做个NAT
      

  12.   

    有服务器的外网地址,和端口号,应该如何在客户端和服务器端怎么设置?
    ===================================================================客户端只要改tnsnames.ora
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 内网地址)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 外网地址)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )服务器增加个监听的,具体的你看下原来的监听配置,只要把内网地址改成外网的就行了
    另外要在防火墙上把端口允许访问,再做个NAT