Page 2 of 4

Re: Nuevo ADORDD

PostPosted: Wed May 06, 2015 7:50 pm
by AHF
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

Re: Nuevo ADORDD

PostPosted: Sat May 09, 2015 3:16 pm
by AHF
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

Re: Nuevo ADORDD

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: Sun May 24, 2015 5:40 pm
by AHF

Re: Nuevo ADORDD

PostPosted: Fri Jun 12, 2015 8:35 pm
by AHF
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: Select all  Expand view

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 view

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: Select all  Expand view

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

Re: Nuevo ADORDD

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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 view


  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

PostPosted: 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

PostPosted: 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

PostPosted: Tue Jun 16, 2015 1:06 pm
by AHF
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.

Re: Nuevo ADORDD

PostPosted: Sat Jun 20, 2015 11:52 am
by russimicro
Code: Select all  Expand view
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