Page 1 of 1
Cómo empezar con ADS ?
Posted: Sun Jul 29, 2007 12:50 pm
by Armando
Amigos del foro:
Quiero iniciarme en ADS (Advantage Data Server) para conocer sus bondades y ofrecerlo a mis clientes, donde conseguir una "receta" de cómo iniciarme ?
1.- Donde instalarlo ?
2.- Cómo ligarlo con mi aplicación ?
3.- Cómo usar el drive nativo de ads ?
En fin todo lo necesario para migrar una aplicación a ADS
Saludos y gracias por la ayuda
Posted: Sun Jul 29, 2007 4:23 pm
by Ruben D. Fernandez
Armando:
Deberías contactarte con R. Flores es el Master
de ADS según creo yo.
Saludos
Ruben Fernandez.
Posted: Sun Jul 29, 2007 4:30 pm
by Armando
Rubén:
Cierto, muy cierto, lo voy a hacer.
Sin embargo la experiencia de los usuarios tambien es importante, a ver si alguien se anima a tirar alguna líneas.
Saludos
Posted: Mon Jul 30, 2007 4:44 pm
by Patricio Avalos Aguirre
Posted: Mon Jul 30, 2007 4:59 pm
by Armando
Patricio:
Muchas gracias, ya tengo instalado ADS.
Necesito saber con que continuar despues de tener instalado el servidor.
A ver si alguien más se anima a orientarme.
Saludos
Posted: Mon Jul 30, 2007 8:20 pm
by jrestojeda
Armando:
No hay mucho para agregar, primero debes incluir las siguientes dlls al path donde se encuentra tu programa:
ACE32.DLL
ADSLOC32.DLL
AXCWS32.DLL
luego en todos tus .prg debes incluir en la cabecera lo siguiente:
#include "ADS.ch"
y también, pero solo en el .prg principal lo siguiente:
RddRegister("ADS",1)
RddSetDefault("ADS")
SET SERVER LOCAL
SET FILETYPE TO NTX o el que utilices
y luego el resto sale solo.
Hay que tener en cuenta que en algunas condiciones no funcionan los FOR o los WHILE, por ejemplo para crear un indice temporario.
Ejemplo:
INDEX ON BASE->FECHA TO MiIndice.ntx FOR (BASE->FECHA>=Fecha1 .AND. BASE->FECHA<=FECHA2)
Este tipo de sentencias probablemente no funcionen.
Saludos.
Posted: Mon Jul 30, 2007 9:11 pm
by Armando
Ojeda:
Parece más sencillo que pellizcar un vidrio
(Saludos Willy), voy con mi hacha.
Muchas Gracias
Posted: Tue Jul 31, 2007 1:50 pm
by Patricio Avalos Aguirre
Aqui te dejo como conectar a un server ADS
Code: Select all
Init Procedure Inicio()
local hConnection := 0, lConecte := .f.
SET MULTIPLE ON
SET EPOCH TO 1950 // Admite los años desde el 1990 en adelante
SET CONFIRM ON
SET CENTURY ON // 4 d¡gitos a¤o
SET DATE FORMAT "DD/MM/YYYY" // formato dd-mm-yyyy
SET DELETED ON // Impedir ver registros marcados borrar
SetHandleCount( 150 ) // M ximo n§ ficheros abiertos
SET _3DLOOK ON
oApp := MyApp():Load()
rddregister( "ADS", 1 )
rddSetDefault( "ADS" )
AdsConnect( oApp:cPathDbf )
AdsSetServerType( oApp:AdsConnect )
MsgRun( "Espere un momento, Conectando con el Servidor", "Win-Invent",;
{ || lConecte := AdsConnect60( oApp:AdsServer, oApp:AdsConnect, "adssys", "7654",, @hConnection ) } )
if !lConecte //!AdsConnect60( oApp:AdsServer, oApp:AdsConnect, "adssys", "7688",, @hConnection )
MsgInfo( "Hay problemas en el servidor"+CRLF+"intente mas tarde", "usuario" )
MsgInfo( "Error:"+cValtochar( AdsGetLastError() )+CRLF +;
"Servidor:"+oApp:AdsServer, "Usuario" )
PostQuitMessage(0)
QUIT
return
endif
oApp:hConnection := hConnection
hConnection := NIL
AdsSetFileType( ADS_CDX )
AdsLocking( .t. )
AdsRightsCheck( .f. )
return
//---------------------------------------------------------------------------
nota: para poder trabajar con dbf temporales debes incluir la VIA
Code: Select all
dbCreate( cFileTemp, ;
{ { "cod_prod", "c", 15,0},;
{ "des_prod", "C", 40,0},;
{ "fecha", "d", 08,0},;
{ "hora", "C", 10,0},;
{ "cant", "n", 10,0},;
{ "usuario", "C", 30,0}}, "DBFCDX" )
SELE 0 ; USE (cFileTemp) NEW ALIAS TEMP VIA "DBFCDX"
Espero que te sirva
y suerte...
Posted: Tue Jul 31, 2007 4:40 pm
by Armando
Patricio:
Desde luego que me sirve.
Muchas gracias por el aporte.
Saludos
Cómo empezar con ADS ?
Posted: Sat Aug 04, 2007 3:20 pm
by Francis
Hola a todos del foro
Y para el ADS Local que pasos se hace para la programacion en nuestros sistemas..., que se incluye en los prg, que se linkea ?
Salu2
Francis
Posted: Sat Aug 04, 2007 6:50 pm
by Antonio Linares
En samples\buildh.bat ó buildx.bat hay dos líneas que tienes que descomentar. Estan indicadas en esos ficheros.
Tienes un ejemplo de uso en samples\TestAds.prg
Posted: Wed Aug 08, 2007 7:02 pm
by svenegas
Existe alguna forma de conocer la existencia de un archivo determinado en la carpeta compartida donde se alojan las tablas, bajo un Remote Server y utilizando el Cliente CLIPPER/DOS ?
Para el caso especifico, no me sirve la funcion File(), por cuanto AX_RightsCheck(.F.).
Mi intencion es conocer si existe el .CDX asociado a una tabla, y si no existe automaticamente crearlo..
Alguien lo ha hecho ?
Desde ya gracias..
Sergio E. Venegas
Tucuman - Argentina