Page 1 of 1

Cambiar el tipo de servidor con ADS

PostPosted: Thu May 03, 2007 10:46 am
by Carlos Mora
Siguiendo con las pruebas, ya conecto perfectamente al servidor AIS, y funciona bastante bien. El problema lo he tenido cuando quiero abrir la tabla local usando dentro del mismo ejecutable conexiones a un Internet Server y vía Local Server.
Al intentar abrir la tabla local me da un error 5132, AE_INVALID_OBJECT_NAME, pero no me queda claro cual puede ser el origen del error.

Fragmento de código con problemas:

[code]
RddSetDefault( "ADS" )
AdsRightsCheck(.F.)
AdsSetServerType(4) //SET SERVER AIS
AdsSetFileType(2)

IF AdsConnect60( "\\pluton\disco-d\inciden\inciden.add", 4 , "usr", "pass" )
Alert( "Esta ahora conectado al Sevidor AIS de ATISA", {"OK"} )

ELSE
Alert( "Se ha rechazado la conexión al servidor AIS de Atisa, por favor intente mas tarde", "AIS Error" )
QUIT
ENDIF

AdsSetServerType(4) //SET SERVER AIS
AdsSetFileType(2)
#define DIR_APGRA 'C:\APGRA\'
#define DIR_INCI "X:\inciden\"


c:= DIR_INCI+"Incidenc.Dbf" // asi con 0.99.5
c:= "Incidenc" // asi con 0.99.6
USE (c) ALIAS "SERINCI" SHARED NEW

If !Used()
MsgInfo( 'no leo los datos...' )
Else
AdsSetServerType(1) //SET SERVER LOCAL
USE (DIR_APGRA+"Incidenc.Dbf") ALIAS "LOCINCI" SHARED NEW
// Este use es el que falla con el error 5132

EndIf

[/code]
Es como si no usase Local server para abrir la 2da dbf.
Este error me lo da usando 0.99.6, no asi con 0.99.5. Alguna sugerencia?

Un saludo,

Carlos.

PostPosted: Thu May 03, 2007 12:17 pm
by Marcelo Via Giglio
Hola,

intenta poner solo una vez AdsSetServerType(7) que define la posibiliad de utilizar a ADS en todos sus modos

saludos

Marcelo

PostPosted: Thu May 03, 2007 1:14 pm
by Carlos Mora
Marcelo,

Gracias por responder. Voy a probar como me dices, de todas maneras no tengo claro en que punto de la aplicación debo definir el tipo de servidor, si al conectar, al principio o antes de cada apertura. La ayuda del ADS no es muy clara al respecto, solo dice que es una funcion que afecta a toda la aplicación pero no aclara si se puede usar para cambiar el comportamiento durante la ejecución.

Sería importante que no use el Local server al conectar al servidor remoto para evitar problemas de conectividad.

Un saludo,

Carlos.

PostPosted: Thu May 03, 2007 1:22 pm
by Carlos Mora
Marcelo,

Probé dejando solo el ADSsetservertype del principio especificando 7 (todos) y me da el mismo error. Si se te ocurre alguna otra cosa que pueda probar me cuentas.

Un saludo y gracias por tu atención,

Carlos.

PostPosted: Thu May 03, 2007 1:24 pm
by Patricio Avalos Aguirre
Carlos

Code: Select all  Expand view
iF AdsConnect60( "\\pluton\disco-d\inciden\inciden.add", 7 , "usr", "pass",, @hConection )



Saludos
Patricio

PostPosted: Thu May 03, 2007 2:25 pm
by Carlos Mora
Hola Patricio,

nada, hace exactamente lo mismo. Algo que no estoy usando que he visto en tu mensaje es hConnection, ¿Que uso tiene?

Un saludo y gracias por responder,

Carlos

PostPosted: Thu May 03, 2007 3:29 pm
by Patricio Avalos Aguirre

PostPosted: Thu May 03, 2007 4:55 pm
by Carlos Mora
Patricio,

gracias por el truco, me viene más que bien. Hasta ahora lo resolví abriendo la dbf local con 'dbfcdx', pero ahora crearé 2 conexiones y te digo como me fue.

Saludos,

Carlos

PostPosted: Thu May 03, 2007 8:57 pm
by R.F.
Carlos:

Creo que tendre que ir a visitarlos ahora que me pase por Madrid.... jejeje.

Efectivamente, crea 2 conexiones una para el servidor AIS y otra para el servidor local y listo.

El problema consiste en que ADS esta buscando en el mismo servidor la tabla que deseas crear y por ello casca.

Otra solucion, menos elegante es crear la tabla temporal VIA DBFCDX, pero bueno, es un paso atras ya que te haz movido a ADTs.

PostPosted: Fri May 04, 2007 8:11 am
by Carlos Mora
René,

siempre hay excusas para una cerveza, no?
Todavía sigo usando DBF poruqe la información que se traslada vía AIS se procesa en el servidor con aplicaciones muy variadas, que las integran a un sistema mayor.

Un saludo para todos y gracias por el soporte,

Carlos.

PostPosted: Thu May 10, 2007 7:03 pm
by alex_cyr
Carlos, poniendo 5 te deberia funcionar sin problemas

saludos