El siguiente codigo es ejecutado con FWH y funciona perfecto, pero si ejecuto una query con ARC32 ( Tools->Native SQL) el resultado es muchiiisimo mas rapido. Mi Pregunta es: Se puede optimizar la ejecucion de las funciones de SQL en ADS ?
Code: Select all
#include "ads.ch"
#include "fivewin.ch"
*--------------
FUNCTION main()
*--------------
LOCAL cServer := "\\BSD001\Test"
LOCAL consulta := "Select * from Test where age > 90"
LOCAL cTxt := ''
RddRegister("ADS",1)
RddSetDefault("ADS")
AdsSetServerType ( 2 )
SET FILETYPE TO CDX
AdsConnect( cServer , 2 )
IF ! ADSCreateSQLStatement("SQLarea",2) // 2 == ADS_CDX
MsgAlert( "ADSCreateSQLStatement('SQLarea',2)" )
RETU .F.
ENDIF
IF ADSExecuteSQLDirect( consulta )
FOR nI := 1 TO 20
cTxt += sqlarea->first + ' ' + sqlarea->last + ' ' + sqlarea->street + ' ' + str( sqlarea->age ) + CRLF
sqlarea->( DbSkip() )
NEXT
msgInfo( cTxt )
ENDIF
AdsDisconnect(AdsGetConnectionHandle())
sqlarea -> ( DBCLOSEAREA() )
RETU NIL
Carlos.