超级难的问题! ADOConnection连接数据库当连接断开后自动重连的困惑! ( 积分: 300 )

  • 主题发起人 主题发起人 jxj0561
  • 开始时间 开始时间
J

jxj0561

Unregistered / Unconfirmed
GUEST, unregistred user!
原本以为&nbsp;&nbsp;ADOConnection.close;&nbsp;后再&nbsp;ADOConnection.open,就可以重新连接了,这仅对SQL&nbsp;SERVER数据库有效,但对于DB2数据库,跟踪ADOConnection.open&nbsp;后ADOConnection.Connected属性值为真,但执行SQL就是报&quot;未指定的错误&quot;,好象连接已经被服务器拒绝了,从启应用程序才能正常连接到服务器!有谁知道为什么连接断掉后再OPEN就不能执行SQL了呢?<br>测试方法:&nbsp;连接上DB2,执行一个SQL,把网线拨掉再执行这个SQL,会报链路故障,这时再接上网线,再ADOConnection.open&nbsp;,这时ADOConnection.Connected属性值已经为真,但是你仍然不能执行SQL,都会报&quot;未指定的错误&quot;,把连接Free掉再重建再连也是如此,真的只有重启应用程序再才能再连接数据库了吗?有不退出程序就可以恢复有效连接的方法吗?<br>请大家关注啊,答对者300分赠送!
 
你把ADOConnection&nbsp;close然后&nbsp;将连接字符串重新赋值,再open呢
 
没有任何作用,故障依旧
 
SQL语句有错,每连接一次都要清除后在写SQL才行
 
我想问题出在代理上。<br>DB2使用ado,可能是使用了代理程序作了一个转换。如果是这样,那么,你这边close并open了,但代理程序还是那个状态,如何能将它复位一下就应该可以了。<br>并且,我猜这个代理程序是在你的某个单元文件的initialization里初始化的,在finalization里关闭的。你找找看,也许能解决问题。<br>祝你好运!
 
把SQL请了再执行,还是不行,看来没有什么好办法了,大家可以手工试一下,能解决这个问题有重奖!对技术有兴趣的来讨论一下啊
 
我在SQL2000上用的,如果意外掉线后好象也不会自动再连的,非得软件退出后再进入才会自己再次连接
 
就是啊,没有高手知道吗?
 
你先搜索&quot;未指定的错误&quot;是怎样引起的,再找其他原因。
 
引起这种错误的可能非常多
 
http://www.abab123.com/bbs/down.asp?html=589798&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>好东东
 
這問題我也碰到了。
 
有高手能回答这个问题吗?
 
将ADOConnection的keepConnection属性设置为false;<br>连接字符窜Persist&nbsp;Security&nbsp;Info=true;
 
还是没用,大家关注一下啊,事关网络断开程序的健壮性
 
这是ADOConnection的一个缺陷,断开后就不可能在重新连接了,即使连接上数据集显示的数据也是个错误的假象,除非你连接后,在外部调用一个exe文件来加载这些数据。如果有人有更好的办法请告诉我
 
谢谢楼上的关心,请大家继续
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
514
import
I
后退
顶部