用DELPHI的MIDAS开发三层程序,客户端利用DCOM连接方式与应用服务器联系,当正常运行过程中,突然断开客户端与应用服务器之间的网络。当网络恢复正常后,客户端重新进行连接工作,可是客户端和应用服务器之间进行数据交换总是出错,应用服务器不能正常工作。查看应用服务器所在的WIN2000操作系统的任务管理器,发现应用服务器存在于操作系统的进程中,采用强制结束进程,可是WIN2000总是提示“拒绝访问”。没办法,重新启动应用服务器所在的机器,这时候客户端调用应用服务器,一切恢复正常。这个问题很实际,因为在实际的应用中,不可能保证网络时刻都保持完好,所以希望大家能够给予帮助,解决这个问题!!!!!!谢谢,谢谢,谢谢!!!!!注:系统部署信息客户端:win98
应用服务器:win2000
数据库:oracle
部署在不同的三台机器上!!!!!
应用服务器:win2000
数据库:oracle
部署在不同的三台机器上!!!!!
解决方案 »
- ShellTreeView创建文件夹的问题
- 用ADO在sqlserver创建用户,并还原数据库怎么作
- 请问如何实现用一个quickRep用多页面预览多个dataset的数据
- 用delphi做GUI而用C++来实现行不行?
- 因业务需要,本公司高薪聘Delphi开发人员
- 请教TIWServerController控件中属性ComInitialization的问题
- 用paintbox画图被清除问题
- 帮我看看那里除了问题
- 低手问题,关于Form中的数据问题,谢了。
- delphi form edit 光标
- 两个拨号上网的电脑,如何相互编程通信?
- 解决众多小生的问题(为什么要用三层,那种开发方式好,还有名词与解释)
其它的没碰到过,不知。有空我试试。
其实加入多台app server效果会好些.
但现在应用三层结构的公司还是较少.但这必定是趋势所在.
-----------------我觉的这种可能性不是很大,或是没有谁会这样认为,当客户端退出之后,那么它如果被检测到的话,它的所有资源应该放回Pooler里,以便于其它的客户来处理,如果没有检测到的话,再次上线,又如何进入到它的线程 or 进程?的确,DCOM默认每两分种内进行检测,Midas也默认为无状态的,还有,你所说的是应用程序服务器需要得启?那么,想知道你的应用程序服务器给的错误提示是什么?是系统级的?线程错误?进程错误还是别的?
系统部署还是上面的那样:客户端1:win98
客户端2:win98
应用服务器:win2000 (DCOM方式)
数据库:oracle
部署在不同的四台机器上!!!!!现在客户端1,客户端2连接到应用服务器,客户端1调用数据库端的一个存储过程,这个过程所处理的数据量很大,既有对表有写的操作,也有读的操作。在客户端1正在执行时,客户端2的程序却死在那里,就连点击程序界面的菜单都没有任何反应。当客户端1执行完毕后,客户端2又恢复了正常。为了进一步搞清楚问题所在,我们将应用服务器程序拷贝了一份到另外一台机器上,也就是说让客户端1,客户端2分别连接各自的应用服务器,重复前次的操作,发现客户端1,客户端2一切正常,互不影响各自的工作。所以,判断应该是应用服务器程序的问题,这里需要说明一点,当初写应用服务器的程序时,无论是DCOM,还是客户端数据模块,远程数据模块都采用的是默认属性,是无状态类型的,只是为了多个客户端能够共享一个应用服务器,将DCOM的handleshare属性设为了TRUE.另外,BDE的属性也都是默认属性。对于这个问题,始终不能明白应该如何处理,也不知道该如何对DOM的一些属性进行相应的合理设置。望大家给予提示,帮助,谢了!!!!!!!!!!!!