>CLOSE DATABASES all >CLEAR > >DELETE DATABASE TestReconnect > >CREATE DATABASE TestReconnect > >con = SQLCONNECT("LocalServer") > >IF con<1 > ? "Failed to connect!" > RETURN >ENDIF > >CREATE CONNECTION test CONNSTRING (SQLGETPROP(con,"ConnectString")) >SQLDISCONNECT(con) > >CREATE SQL VIEW view1 REMOTE CONNECTION test SHARE As ; >select top 1 * from northwind..categories > >CREATE SQL VIEW view2 REMOTE CONNECTION test SHARE As ; >select top 2 * from northwind..categories > >SELECT 0 >USE view1 >DELETE ALL >? "Connection handle:",CURSORGETPROP("ConnectHandle","view1") >LIST > >SELECT 0 >USE view2 >DELETE ALL >? "Connection handle:",CURSORGETPROP("ConnectHandle","view2") >LIST > >WAIT "Kill the connection ..." > >IF REQUERY("view1")!=1 > ? "REQUERY failed, disconnect and retry." > AERROR(aerrs) > DISPLAY MEMORY LIKE aerrs > > LOCAL c1 as Integer > LOCAL c2 as Integer > > c1=CURSORGETPROP("ConnectHandle","view1") > c2=CURSORGETPROP("ConnectHandle","view2") > SQLSETPROP(c1,"IdleTimeout",1) > SQLSETPROP(c2,"IdleTimeout",1) > > WAIT "Restoring connection. Please wait ..." TIMEOUT 120 > > ? SQLGETPROP(c1,"ODBChdbc") > > SQLSETPROP(c1,"IdleTimeout",0) > SQLSETPROP(c2,"IdleTimeout",0) > > IF REQUERY("view1")!=1 OR REQUERY("view2")!=1 > ? "REQUERY failed!!!" > AERROR(aerrs) > DISPLAY MEMORY LIKE aerrs > ELSE > ? "REQUERY succeeded" > SELECT view1 > LIST > > SELECT view2 > LIST > ENDIF >ENDIF >>