Cambiar el tipo de servidor con ADS
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
Cambiar el tipo de servidor con ADS
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.
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.
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
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.
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.
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Carlos
Saludos
Patricio
Code: Select all
iF AdsConnect60( "\\pluton\disco-d\inciden\inciden.add", 7 , "usr", "pass",, @hConection )
Saludos
Patricio
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España
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.
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.
Saludos
R.F.
R.F.
-
- Posts: 988
- Joined: Thu Nov 24, 2005 3:01 pm
- Location: Madrid, España