Page 2 of 4
Re: Nuevo ADORDD
Posted: Wed May 06, 2015 7:50 pm
by AHF
Nueva versión adordd.prg publicado
https://github.com/AHFERREIRA/adordd.gitPor favor, eche un vistazo en el archivo readme.md.
saludos
Antonio H. Ferreira
Re: Nuevo ADORDD
Posted: Sat May 09, 2015 3:16 pm
by AHF
Nueva versión adordd.prg publicado
https://github.com/AHFERREIRA/adordd.gitPor favor, eche un vistazo en el archivo readme.md.
saludos
Antonio H. Ferreira
Re: Nuevo ADORDD
Posted: Sat May 09, 2015 5:59 pm
by Cgallegoa
Hola Antonio, felicitaciones por tu gran trabajo.
Al compilar con xHarbour tengo el siguiente error:
Error: Unresolved external '_HB_FUN_GETADOCONN'
Re: Nuevo ADORDD
Posted: Sun May 10, 2015 10:28 am
by Antonio Linares
Carlos,
Esa función parece estar en el propio adordd.prg:
FUNCTION hb_GetAdoConnection()//supply app the con object
RETURN oConnection
Re: Nuevo ADORDD
Posted: Thu May 14, 2015 5:33 pm
by AHF
Version completa adordd
https://github.com/AHFERREIRA/adordd.git_________________
Saludos
Antonio H Ferreira
Re: Nuevo ADORDD
Posted: Sun May 24, 2015 5:40 pm
by AHF
Re: Nuevo ADORDD
Posted: Fri Jun 12, 2015 8:35 pm
by AHF
Google translator:ADORDD su listo para trabajar en
https://github.com/AHFERREIRA/adordd.gitHa estado en desarrollo desde feb 2015, y se está probando en la aplicación real de trabajar en paralelo con la aplicación real con ADS y pasó todas las pruebas.
Esta aplicación con ADORDD su ahora está probando intensivo sobre el acceso simultáneo de revisar esquema de bloqueo y de uso exclusivo.
Informará los resultados finales de la próxima semana.
Con ADORDD puede migrar inmediatamente a cualquier servidor SQL, aunque todas las pruebas se han realizado solamente con ADS, MySql y MS Access.
No se requiere un cambio de código. Excepto:
1) Al igual que con ADS en expresiones de índice que tiene que evaluar las vars antes de enviarlo a ADORDD.
2) Eliminar registros se eliminan inmediatamente de la tabela y no puedo recuperar de nuevo. Así código como:
Code: Select all | Expand
delete record
BlankRec () // esto no funcionará bien comentarla o colocarlo antes de eliminar.
delete all // esto no funcionará a partir de aquí
while ....
if lCondición // cambiar la condición de no
recall registro // eliminar cada registro aquí
endif
end
Eso es todo!
Pero se puede hacer mucho más:
Code: Select all | Expand
hb_GetAdoConnection (): Ejecutar ("CREATE VIEW cView ....")
sele 0
uso cView
Browse ()
Locks Verdaderos como cualquier otra rdd.
Sube tabelas a cualquier servidor SQL al igual que:
El rendimiento es bastante bueno.
Sin conocimientos de SQL necesario a menos que desee utilizar y ejecutar sentencias SQL directamente de funciones ado.
Usted escribe código exactamente lo mismo que cualquier otra rdd.
Con ADORDD estamos libres de todo tipo de limitaciones con DBFS y administración de índices que ya están en los sistemas operativos actuales y futuros, y se extenderá la vida de nuestras aplicaciones más.
Aunque ADO ya hoy un marco de "viejo" Creo que va a permanecer alrededor de los próximos años (eso espero)
Darei apoyo a la misma, siempre y cuando usted puede proporcionar ideas precisas y código de ejemplo que no se ha previsto algo en su alcance ADORDD de acción.
Espero que va a hacer el trabajo para todos ustedes como lo hace para mí.
_________________
Saludos
Antonio Ferreira H
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 1:59 am
by ruben Dario
Saludos
Cuando lo compilo con Harbour me da error en estas lineas en el ADORDD.prg
STATIC t_cDataSource
STATIC t_cEngine
STATIC t_cServer
STATIC t_cUserName
STATIC t_cPassword
STATIC t_cQuery
STATIC oConnection
Dice Error E0004 STATIC Declaration Follow Executable Statement
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 8:45 am
by AHF
Ruben,
Por favor, ponga todos los STATIC antes #ifndef __XHARBOUR__
Estoy trabajando con xHarbour.
Saludos
Antonio H Ferreira
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 4:54 pm
by ruben Dario
Gracias. Antonio Ferreira H
Por tu informacion.
Tu no lo has probado con Harbour.
Segun los ejemplo que tu anexas se puede manejar archivos DBF
Tengo una duda, lo he visto en varios codigos.
que quiere decir
ANNOUNCE ADORDD
Me gustarias si me puedes aclarar el concepto , que no lo tengo muy claro,
ANNOUNCE --> Que Hace
ADORDD --> Se refiere a Una funciona a que apunta.
Gracias si me puedes aclarar,
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 5:45 pm
by lucasdebeltran
Hola,
En tu archivo main.prg tienes que poner REQUEST ADORDD para que se cargue adordd.prg, por eso en adordd.prg tiene el ANNOUNCE.
Es muy simple llamar al motor ADORDD:
Code: Select all | Expand
REQUEST ADORDD, ADOVERSION, RECSIZE
RddRegister( "ADORDD",1 )
RddSetDefault( "ADORDD" )
SET ADO DEFAULT RECNO FIELD TO "HBRECNO"
SET AUTOPEN OFF
SET ADO FORCE LOCK OFF
SET ADO DEFAULT DATABASE TO "LUCASTABLE.MDB" ENGINE TO "ACCESS" USER TO "" PASSWORD TO ""
A continuación, lanzas el dbcreate, el use, etc.. como haces con DBFCDX, incluyendo los filtros, seeks, locates for, sums, appends, etc.
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 7:17 pm
by ruben Dario
Gracias, Lucas
Por tu respuesta , quedo claro, carga el ADORDD, Es lo que necesitaba saber, ya que tenia duda el el funcionamiento.
Re: Nuevo ADORDD
Posted: Mon Jun 15, 2015 2:45 pm
by AHF
Google translator:
Por favor, disculpe el código desalineada de aodrdd.prg pero yo sólo doy cuenta ahora con Lucas.
Estoy usando Notepad ++ y aunque el código está perfectamente alineado no parece que eso no es el caso de MED Que la mayoría de ustedes están utilizando.
Tan pronto como me puedo voy a pasar a través de MED conseguirlo todo alineado y Ill publicada.
Re: Nuevo ADORDD
Posted: Tue Jun 16, 2015 1:06 pm
by AHF
Nueva versión ADORDD en
https://github.com/AHFERREIRA/adordd.gitEl código se alinea y limpio.
Por favor, lea atentamente readme para configurar su aplicación para utilizar ADORDD.
Y por favor no se olvide de donar a la organización humanitaria 20 Euros.
Re: Nuevo ADORDD
Posted: Sat Jun 20, 2015 11:52 am
by russimicro
Code: Select all | Expand
Buen dia...
Alguien ya desarrollo una utilidad para migrar la base datos, para mi caso seria desde dbfcdx con sus índices
con xhb.com usamos esta rutina :
Function upload( cBaseDir, cPrefix, cDriver, cRDD )
LOCAL aFiles, aStruct, aFile, cFile, aTemp
LOCAL nCanArc := 0, nConArc := 0
/* upload files */
aFiles := directory( cBaseDir + "*.dat" ) // dejar en minuscula
nCanArc := len(aFiles)
For each aFile in aFiles
IF SELECT("ORIG") <> 0
CLOSE ORIG
ENDIF
cFile := strtran(lower( alltrim( cPrefix + aFile[ F_NAME ] ) ),".dat","") // dejar en minuscula
//dbUseArea( .T., cDriver, cBaseDir + aFile[ F_NAME ], "ORIG" )
IF !lUsaTab( cBaseDir ,aFile[ F_NAME ],"ORIG",{},.T.,NIL,cDriver)
mymen("Error. Tabla")
return
endif
//? " Uploading...", cFile, "(" + alltrim(str(ORIG->( lastrec() ) ) ), "records)"
aStruct := ORIG->( dbStruct() )
ORIG->( dbCloseArea() )
dbCreate( cFile, aStruct, cRDD )
dbUseArea( .T., cRDD, cFile, "DEST", .F. )
Append from (cBaseDir + aFile[ F_NAME ]) VIA cDriver
dbUseArea( .T., cDriver, cBaseDir + aFile[ F_NAME ], "ORIG" )
If !empty( ordname(1) )
//? " Creating indexes:", cFile
EndIf
n:=1
while .t.
if empty( ordname(n) )
exit
endif
//? " =>", ordname(n),",", ordkey(n),",", ordfor(n)
DEST->(ordCondSet( orig->(ordfor(n)),,.t.,,,, nil, nil, nil, nil,, nil, .F., .F., .F., .F.))
DEST->(dbGoTop())
DEST->(ordCreate(,orig->(OrdName(n)), orig->(ordKey(n)), &("{||"+orig->(OrdKey(n))+"}") ))
++n
enddo
ORIG->( dbCloseArea() )
DEST->( DBCOMMIT() )
DEST->( dbCloseArea() )
++nConArc
Next
Return
Gracias
Johnson Russi