Internet上连接远程数据库一般采用哪种?我现在用的是在路由器上1433端口映射sqlserver所在数据库的IP(路由器用固定IP上网,路由器和服务器在同一局域网),有人说这样很不安全,是吗?
还有一种用3389端口连接服务器,服务器安装了远程桌面连接,用三层,中间层也放在服务器。可是我中间层用DataSetProvider1,ADOConnection1,adoquery1;客户端用DCOMConnection1或者SocketConnection1,都连接不上,如果开了borland socket server.在和服务器同一局域网的客户机就可以,但在internet上就提示windows socker error:由于目标机器积极拒绝,无法连接。(10061),on API 'connect'或者dcom提示RPC服务器不可用。用客户机windows远程桌面连接服务器是可以连接的。到底还要用什么控件,或者做什么设置?

解决方案 »

  1.   

    需要数据库服务器,在公网上,否则不能访问,或者要做路由映射,或者通过webservice或socket将数据传输过来,本地处理
      

  2.   

    我就是做了路由3389映射,用三层的,socket就是连接不上。如果不用socket,映射1433,直接本地用adoconnection就能连接,1433是不是不安全
      

  3.   

    那是不是用3389路由映射,用socket啊,为什么我连接不上的?
      

  4.   

    路由映射,一般路由器都有此功能的
    不过你还须要一个外网的IP。或者有一个域名+ADSL拔号方式,然後用花生壳等解析软件去解析
      

  5.   

    有外网的IP啊,我用外网IP加1433映射到sqlserver服务器,用两层就行。但用3389端口映射到服务器,在局域网就行,在internet上就不行,是不是还要加什么indy控件啊?大家一般用哪种方式啊
      

  6.   

    使用Http,远程连接数据库技术,也许可以解决你的困惑。
    主要功能:
    1. 用户能够像使用本地数据库一样操作远程数据库。
    2. 数据库在internet上是屏蔽的,他是通过IIS服务端口,采用特定的Http管道与用户端建立连接。多道防护可以有效保障数据库的安全性。
    3. 数据的发送接受采用分段技术,以整体虚拟,所需为实的方式满足用户的数据需求,适应了internet通讯的复杂环境。
    4. 用户的局域网操作和internet操作集成在一起,以同一个组件和同样的指令实现,可以在2种操作之间随时切换。
    5. 现有的C/S结构软件,使用数据库Http连接模块,可以增加internet操作功能。