FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Nuevo ADORDD
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Wed May 06, 2015 07:50 PM

Nueva versi贸n adordd.prg publicado https://github.com/AHFERREIRA/adordd.git

Por favor, eche un vistazo en el archivo readme.md.

saludos
Antonio H. Ferreira

Regards

Antonio H Ferreira
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Sat May 09, 2015 03:16 PM

Nueva versi贸n adordd.prg publicado https://github.com/AHFERREIRA/adordd.git

Por favor, eche un vistazo en el archivo readme.md.

saludos
Antonio H. Ferreira

Regards

Antonio H Ferreira
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Nuevo ADORDD
Posted: Sat May 09, 2015 05:59 PM
Hola Antonio, felicitaciones por tu gran trabajo.

Al compilar con xHarbour tengo el siguiente error:

Error: Unresolved external '_HB_FUN_GETADOCONN'

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo ADORDD
Posted: Sun May 10, 2015 10:28 AM

Carlos,

Esa funci贸n parece estar en el propio adordd.prg:

FUNCTION hb_GetAdoConnection()//supply app the con object
RETURN oConnection

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Thu May 14, 2015 05:33 PM

Version completa adordd https://github.com/AHFERREIRA/adordd.git


Saludos
Antonio H Ferreira

Regards

Antonio H Ferreira
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Sun May 24, 2015 05:40 PM
Regards

Antonio H Ferreira
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Fri Jun 12, 2015 08:35 PM
Google translator:

ADORDD su listo para trabajar en https://github.com/AHFERREIRA/adordd.git

Ha 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 (fw): Select all Collapse
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 (fw): Select all Collapse
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:

Code (fw): Select all Collapse
use table VIA "DBFCDX"
copy to SQLTABLE VIA "ADORDD"


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
Regards

Antonio H Ferreira
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 01:59 AM

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

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 08:45 AM

Ruben,

Por favor, ponga todos los STATIC antes #ifndef XHARBOUR
Estoy trabajando con xHarbour.

Saludos
Antonio H Ferreira

Regards

Antonio H Ferreira
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 04:54 PM

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,

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 05:45 PM
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 (fw): Select all Collapse
  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.
Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Nuevo ADORDD
Posted: Sat Jun 13, 2015 07:17 PM

Gracias, Lucas

Por tu respuesta , quedo claro, carga el ADORDD, Es lo que necesitaba saber, ya que tenia duda el el funcionamiento.

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Mon Jun 15, 2015 02:45 PM

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.

Regards

Antonio H Ferreira
Posts: 838
Joined: Fri Feb 10, 2006 12:14 PM
Re: Nuevo ADORDD
Posted: Tue Jun 16, 2015 01:06 PM

Nueva versi贸n ADORDD en https://github.com/AHFERREIRA/adordd.git

El 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.

Regards

Antonio H Ferreira
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: Nuevo ADORDD
Posted: Sat Jun 20, 2015 11:52 AM
Code (fw): Select all Collapse
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