Com este rdd as n/ aplicações sáo convertidas em SQL através do uso de ADO puro em alguns minutos mais o tempo de upload das tabelas.
Este rdd é 100% compativel com rdds do tipo dbfcdx sendo a sua compatibilidade superior ao ADS rdd.
As aplicações convertidas não necessitam de qualquer alteração no codigo.
1) ler o ficheiro 01_readme.pdf e adicionar adordd.prg ao projecto actual.
2) Colocar este código com os dados da app a converter no proc ou func inicial.
RddRegister("ADORDD",1)
RddSetDefault("ADORDD")
IF RDDSETDEFAULT() == "ADORDD"
SET ADODBF TABLES INDEX LIST TO { ....... }
SET ADO TEMPORAY NAMES INDEX LIST TO {"TMP","TEMP"}
SET ADO INDEX UDFS TO {"IF","&","SUBSTR","==","DESCEND"} //at least these must be in and our Udfs
SET ADO DEFAULT RECNO FIELD TO "HBRECNO"
// SET ADO FIELDRECNO TABLES LIST TO {...}
SET ADO DEFAULT DELETED FIELD TO "HBDELETE"
//SET ADO FIELDDELETED TABLES LIST TO {.... }
SET ADO LOCK CONTROL SHAREPATH TO "******" RDD TO "DBFCDX"
SET ADO FORCE LOCK ON //might be off
SET ADO DEFAULT DATABASE TO "******" SERVER TO "*****" ENGINE TO "MYSQL" USER TO "****" PASSWORD TO "*****"
SET ADO TABLENAME WITH PATH ON
SET ADO CACHESIZE TO 50 ASYNC ON ASYNCNOWAIT ON
//MSGINFO("PRE OPEN")
SET ADO PRE OPEN THRESHOLD TO 3000
// MSGINFO("PRE OPEN END")
SET AUTOPEN OFF //can be on
//comment this line after first execution to be faster
//if you dot comment it every execution will check if all tables have been loaded and because lOverwrite is .F.
//do nothing
hb_AdoUpload( "c:\yourdatabasepathroot\, "your actual rdd", "for ex MYSQL", .F. )
ENDIF
3) Compilar e linkar. Somente o adordd.prg e o prg onde colocaram este código são recompilados.
4) Para reverterem a v/ aplicação para o estado anterior só têm de comentar rddregister e reesetdefault e reconstruir a app.
Podem testar na v/ real aplicação. Não trabalha bem ? Nao gostaram ? Sigam o ponto 4.
Se mais tarde quiserem usar USE ... WHERE ... entáo têm de incluir o adordd.ch no v/projecto e aà todos os prgs serão recompilados.
Antonio H Ferreira