Qt程序远程访问Oracle数据库,该怎么处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt程序远程访问Oracle数据库,该怎么处理相关的知识,希望对你有一定的参考价值。
参考技术A 前提是在同一个局域网,或者网络IP可以互相ping通1、本地创建ORACLE监听
2、防火墙开通端口
3、远程安装ORACLE客户端,根据服务端的数据库名称、IP地址、端口配置TNS连接
Oracle应用程序在远程访问时速度非常慢
一个Oracle应用程序,在局域网内运行流畅,但通过域名远程访问时,从服务器下载数据只能达到3KB/s的速度,应用程序从启动到加载完成有时要用一分多钟,而用PL/SQL访问数据库可以达到28KB/s的速度,服务器端和客户端都是3M的ADSL。这种情况是由于硬件不足,或程序缺陷,还是Oracle本身的问题?
补充:两边都是电信网络,而且在同个城市。一台电脑运行这个应用程序是3KB/s,两台电脑同时运行,每台电脑各自也还是3KB/s。回答问题的请在技术方面说得稍详细一些,谢谢了。
没有办法提高网速的话,考虑建立分布式环境多提供几个访问点的可行性。 参考技术A 首先需要确认你的远程链接方式是怎样的。DDNS吗?如果是,换几个DDNS再试验。
如果还不行,说明DDNS的服务器有些问题,那么建议采用VPN的方式链接。
由于你提供的信息不多,暂时只能这样处理。追问
远程连接方式是这样:服务器通过防火墙连接到因特网,远程客户端也连接到因特网,然后通过服务器的域名访问。我也试过撤掉防火墙,直接连接服务器的公网IP,速度没有任何变化。
追答1.局域网内部运行流畅的话,到外面运行说明防火墙有规则限制,或者外部程序环境跟局域网的有些不同,不过这样的速度也太慢了吧。
2.你不如用vpn构建局域网环境试验一下,会有实际效果。(你的城市是哪个?)
3.另外撤掉防火墙,直接连接服务器的公网IP的时候,你又无测试过网络速度、丢包率是否正常?如果一切正常,那么局域网内运行是否正常?---将局域网运行正常的(最好是笔记本)拿到外网测试。如果还不行,可以找我协助你测试VPN环境,不过最好不要是游戏的网站啊。
也试用过VPN,仍然没有任何改善,ping值很低,没有丢包。
追答你试过将那台局域网内部的电脑拿到外面测试过吗?
就是局域网内很正常的,效果不错的那台电脑,千万不要选择其他电脑。只是换个地方,如果ping值低,不丢包,同样的电脑换地方还有问题,就真的奇怪了。一定要用一摸一样的环境,不要做任何改变。(除了远程节点不同)
(当然建议在VPN环境下测试。可以排除其他的因素)
试过将一台局域网内的电脑断开到服务器的连接后拨ADSL,情况一模一样。换回局域网又很流畅。
追答另外问一个问题,是否有AD或者登陆域的验证动作等。
如果没有上面的那些,是纯IP的访问。
那么唯一的问题可能在服务器到电脑之间了,你找2个ADSL,直接接服务器和电脑,不要什么防火墙,在服务器用外部IP测试。不要用端口转发等DDNS,排除一切其他因素。
怎么和我用花生壳一样
以上是关于Qt程序远程访问Oracle数据库,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章
如何解决JMeter通过JDBC 访问Oracle 和MySQL的问题
用Navicat for Oracle登录时显示错误:invalid username password logon denied 这是怎么回事??求解决