cj、Another-eyes和斑竹请帮忙,遇到大问题啦!(100分)

  • 主题发起人 peterwang
  • 开始时间
P

peterwang

Unregistered / Unconfirmed
GUEST, unregistred user!
1、clint端是activeform成的ocx,sever端用remoteserver作的,
如果正常使用,即clint端用IE只打开一次,就没有问题,但在clint端同时打开相同的时候,server端出错,也就是说客户如果用ie的文件下
的新建窗口时,就会出错,怎么办?
2、clint端用有5-6台,开始用时正常,但clintdate提交几次后server端
就死了!(apply的参数是-1)在clint端我也做了出错处理,就是哪个
onreconcilerror事件也按例子写了。怎么办?
急死人了!!
 
server端加上TDatabase, TSession控件大概能解决问题
 
我在Server端是这样做的,
一个TDatabase,5个ttable和tpovider.
这个TDatabase连sql6.5
请问要加5个Tsession吗?
 
最好每个table加上一个session
 
session的属性怎么写?有特别要求吗?
如:keepconniction是t/f?.....
问题在于有解决办法吗?
谢谢
 
table.sessionname := session.sessionname既可, 其它就用默认的.
如果还有问题, 那么试试 1.client连接时server打开table, client结束时server关闭
table. 2. 检查一下client程序是否有问题. 我怀疑您的问题1是由client造成的.
 
1、server中的Table开始设计时是关闭的,第一个clint连结时server运行,
最后一个clint结束时才关闭。问题出在某个clint提交时server就死了,检查
nt的任务管理器,这时server程序为不响应,而没问题时是响应!
2、clint表面上没问题,因为打开一次没问题,是不是什么地方要设多连结?
 
打开一次没问题. 打开多次需要多个实例来做吧? 即ie每开一个新窗都应该新create一个client.
 
-->最后一个clint结束时才关闭
这里最好改成该client结束时就关闭. 因为默认设置时, server每收到一个client请求都分配
到一个单独进程中进行处理的. 所以各个client互不干扰. 因此应该在该client结束时就关闭
数据库. 最后一个client结束时关闭的只是针对这个client的一份serverdatamodular的
copy(以前的都没关).
 
eYes:没那么麻烦呀,呵呵
1、放一个TSESSION到REMOTE DATA M上
2、设置其AUTONAME为TRUE
3、每个TABLE(许多大虾建议用QUERY)都有SESSION属性,双击之,使之指向上面放置的那个
另:在CLIENT端最好提供一个按钮,让用户来连接到数据库。
你的错误信息是什么?
SERVER 的 TABLE OPEN/CLOSE 除非必要,否则不写也罢
 
1、您的意思是每个client都在server端起一个server服务程序吗?(6个clinet
就是6个server程序吗?)我现在的确是在服务器上只见一个server程序的。
2、如何改成client结束时就关闭server?
 
to cj:
没有错误信息,server服务程序开始好好的,客户端提交几次后突然就没有响应。
客户端和服务程序死完,需强行关闭。
 
1、不是!!!!!!!
2、自动的//理论上是如此
试着把SERVER做成TRAY ICON的(或是NT SERVICE:))开着就开着,不开就关着:)
我的意思是:
if btnConnect.caption = '连接' then
begin
btnConnect.caption = '断开连接'
clientdataset1.active := true;
end
else
begin
btnConnect.caption := '连接';
clientdataset1.active := false;
end;
 
to eyes:您还在吗?等着您救命啊!
to cj:(同上)
 
1. 我怎么记得每个client都针对一个独立的server?
2. 不一定会马上关, 看看help. 有说明的.
 
2.有连接就不关
至于那个SRV估计是SESSION的问题,锁的可能性MIDAS中一般不大
 
用户要求ie上直接刷新或直接关闭。
另:我观察sr*r.exe运行后的属性,其中一页是user的,好象客户端的这个ie
窗口一关闭,该客户的ip马上消失!
 
2、server端好象只是一个数据容器,没法看见client端的。
另:delphi中的例子都是控制client端出错的,server端不会出错吗?
好象加了session问题依然!!!
 
>2、server端好象只是一个数据容器,没法看见client端的。
不懂
server端出错用TRY的,不过,不是SESSION,好象不是数据库什么错误,
也许是连接/通讯问题?
IE 关了,上面的OCX当然也关
 
to cj:
server端只有一点点程序,而且是右击Tprovider选择Export provider自动
生成的,应用服务程序上只有一个关闭按钮而已!
好象您上边回答的加一个按钮来try行不通吧?
附:服务端的应用程序一个主form ,上有一个退出按钮
另一个是从file/new/remote data module得的一个容器,放不了按钮的。
我在这个容器中放了一个TDatabase,5个ttable和tpovider.后又加了一个
Tsession.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
967
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
735
DelphiTeacher的专栏
D
顶部