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 :lol: (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