ADS - FWH_812 Y xHAR ( LOCAL REMOTO)
Posted: Thu Jan 08, 2009 3:12 pm
Antonio, hasta ahora nuestras aplicaciones usaban el RDD de ADS para trabajar las DBF, creabamos una ADSCONNECT al server poniamos SET REMOTE SERVER abriamos las bases , ademas usabamos SET SERVER LOCAL para abrir las bases que la terminal usa localmente y funcionanba bien usando siempre el driver de ADS, pues ahora es como que el SET SERVER LOCAL ya no funciona si antes abrimos una conexion al server, nos arroja el siguiente error ADSCDX/5024 AE_INVALID_CONNECTION_HANDLE - Advantage does not have a connection open with the specified handle, por ende la unica solucion posible es abrir las locales haciendo VIA "DBFCDX", porque ?? , de la forma anterior siempre usabamos el mismo driver para abrir bases local como remotas al mismo tiempo que cambio en esta version ??,
Compilacion anterior driver:
Linked RDDs
===========
DBF
DBFDBT
DBFNTX
DBFCDX
ADS
Compilacion nueva:
Linked RDDs
===========
ADS
ADT
ADSCDX
ADSNTX
DBF
DBFFPT
DBFBLOB
DBFNTX
DBFCDX
Código Usado al inicio:
Codigo para abrir las bases locales y remotas:
ALGUNA AYUDA POR FAVOR !!
GRACIAS,
SALUDOS,
Compilacion anterior driver:
Linked RDDs
===========
DBF
DBFDBT
DBFNTX
DBFCDX
ADS
Compilacion nueva:
Linked RDDs
===========
ADS
ADT
ADSCDX
ADSNTX
DBF
DBFFPT
DBFBLOB
DBFNTX
DBFCDX
Código Usado al inicio:
- Code: Select all Expand view
RDDREGISTER ( "ADS", 1 )
RDDSETDEFAULT( "ADS" )
SET FILETYPE TO CDX
cr_modo:=AdsConnect(ud)
IF cr_modo
SET SERVER REMOTE
cr_conx:="Cs"
ELSE
SET SERVER LOCAL
cr_conx:="Di"
ENDIF
Codigo para abrir las bases locales y remotas:
- Code: Select all Expand view
//----------------------------------------------------------------------
// FUNCIONES DE RED //
//----------------------------------------------------------------------
FUNCTION abrir_dbf(base)
LOCAL ali:="GR"+c_taba(), cind:=""
IF cr_modo .AND. LEFT(UPPER(base),3)!="GRP"
SET SERVER REMOTE
ELSE
SET SERVER LOCAL
ENDIF
USE (base) ALIAS (ali) NEW SHARED
IF NETERR()
MSGALERT("ERROR BASE: "+base+" OCUPADA POR OTRO USUARIO!!","ATENCION!!")
DO WHILE .T.
USE (base) ALIAS (ali) NEW SHARED
IF NETERR()
MSGALERT("ERROR BASE: "+base+" OCUPADA POR OTRO USUARIO!!","ATENCION!!")
ELSE
EXIT
ENDIF
ENDDO
ENDIF
IF FILE(cind+base+".CDX")
SET INDEX TO (cind+base+".CDX")
ENDIF
DBSELECTAR (ali)
GO TOP
RETURN(ali)
ALGUNA AYUDA POR FAVOR !!
GRACIAS,
SALUDOS,