Nuevo ADORDD

AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post 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
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post 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
Regards
Antonio H Ferreira
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: Nuevo ADORDD

Post by Cgallegoa »

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-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Nuevo ADORDD

Post by Antonio Linares »

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
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post by AHF »

Version completa adordd https://github.com/AHFERREIRA/adordd.git
_________________
Saludos
Antonio H Ferreira
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post by AHF »

Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post 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

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

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

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
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Nuevo ADORDD

Post 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
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post by AHF »

Ruben,

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

Saludos
Antonio H Ferreira
Regards
Antonio H Ferreira
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Nuevo ADORDD

Post 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,
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: Nuevo ADORDD

Post 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


  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.
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Nuevo ADORDD

Post 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.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post 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.
Regards
Antonio H Ferreira
AHF
Posts: 837
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Post 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.
Regards
Antonio H Ferreira
russimicro
Posts: 179
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia

Re: Nuevo ADORDD

Post by russimicro »

Code: Select all

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 

 
Post Reply