Pregunta Sobre ADORDD

Post Reply
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Pregunta Sobre ADORDD

Post by ruben Dario »

Saludos

Logre construir la libreria para Harbour.

Hago la conexion, pero me da error- Tu podrias proporcionar un ejemplo completo para Access y Mysql, en el manuel que proporcionas no hay ejemplos.
No me funciona con Harbour.

Mira el codigo como la estoy haciendo.

Code: Select all | Expand



    PROCEDURE Prueadordd1() //no funciona el Query
    Local oErr,oCn
     LOCAL cSql :=""
    REQUEST ADORDD, ADOVERSION, RECSIZE
    RddRegister( "ADORDD",1 )
    RddSetDefault( "ADORDD" )

    Try

         SET ADO DEFAULT DATABASE TO "K:\v_xharb_v3\TRADBF\TEST.mdb" SERVER TO " " ENGINE TO ACCESS USER TO "" PASSWORD TO ""
      //SET ADO DEFAULT DATABASE TO "BASEXXX" SERVER TO "Localhost" ENGINE TO MYSQL USER TO "root" PASSWORD TO "kddsd"
    alert("paso 1x")

       USE "Tabla1" ALIAS "TEST1"   //VIA "ADORDD"
       Browse()

    alert("paso 2x")

     Catch oErr
         Alert("No Es Posible Hacer Conexion")
     End

       USE

    return nil


 
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
AHF
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Pregunta Sobre ADORDD

Post by AHF »

Ruben,

Aqui tens com mais alguns testes.

Code: Select all | Expand


    //see manual to check how its build
    SET ADO TABLES INDEX LIST TO  
    SET ADODBF TABLES INDEX LIST TO


    SET ADO TEMPORAY NAMES INDEX LIST TO {"TMP","TEMP"} //Your preferred names

    SET ADO DEFAULT RECNO FIELD TO "HBRECNO" // Without this doesnt work can be any other name as long its auto increment field

    SET ADO DEFAULT DATABASE TO "K:\v_xharb_v3\TRADBF\TEST.mdb" SERVER TO "ACCESS" ENGINE TO   "ACCESS"

 //SET ADO DEFAULT DATABASE TO "BASEXXX" SERVER TO "Localhost" ENGINE TO "MYSQL" USER TO "root" PASSWORD TO "kddsd"

    SET ADO LOCK CONTROL SHAREPATH TO  "K:\v_xharb_v3\TRADBF" RDD TO "DBFCDX" //any rdd supporting locking as ADS, DBFCDX etc

    SET ADO FORCE LOCK OFF // ON it will use CONTROL SHAREPATH

    SET AUTOPEN OFF //ON it will open indexes in SETs above with USE ctable.

    USE "Tabla1" ALIAS "TEST1"  
    Browse()

    INDEX ON anyfield TO TEMP1
    SET ORDER TO 1
    Browse()

    DBGOTOP()
    DO WHILE
          MSGNFO("RECORD "+STR(RECNO()) )
          DBSKIP()
    ENDDO

    SELE 0
    USE anydbftable VIA "DBFCDX"
    COPY TO "testsqlcopy"
    USE  tessqlcopy
    BROWSE()

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

Re: Pregunta Sobre ADORDD

Post by ruben Dario »

Definitivamente con Harbuor no funciona.

Gracias, pero no funciono.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Pregunta Sobre ADORDD

Post by Armando »

Rubén:

Disculpa la intromisión solo para preguntarte, pero me parece que tú has probado ADORDD
y ADO puro y duro, podrías decirme cual o cuales son la diferencias importantes para decidir
utilizar ADORDD en lugar de ADO puro?.

Aclaro, no tengo nada en contra de ADORDD y se que ha sido un gran esfuerzo de su creador,
solo que no entiendo las diferencias, por eso pregunto.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta Sobre ADORDD

Post by ruben Dario »

Saludos.

Bueno con Respecto a tu pregunta, Queria saber que tal funciona, me gusta ver codigo para ver como funcionan y ver ejemplos,
En lo personal Uso ADO puro, y me parece que es mas facil el manejo y busco manejar cualquier motor de base de datos sin modificar codigo.
Otra clase que he probado y funciona es la TAdoBase -->(Me gusta porque maneja clases creo que es de un amigo chileno, Esta clase maneja ADO puro )
La clase de Tdolphin y Tmysql--> Son Excelentes pero solo funciona para Mysql.
VIendo el ADORDD creo que maneja tambien ADO PURO.

EL ADORDD no la he probado porque no me funciona en Harbour, y viendo su codigo me parece que solamente funciona bien con xHarbour. Seria interesante si este codigo se manejara como una clase. Es un concepto Personal.

La aplicacion que pase de Clipper , me funciona con DBF, y con ADO PURO, y si voy a usar Mysql puedo usar TDOLPHIN, o Tmysql porque son mas rapidas para este motor. y me funciona muy bien --> La aplicacion la desarrolle manejado Puras Clases.

Es un concepto personal, sin ameritar el trabajo de ADORDD que es excelente. (Segun los comentarios en lo personal no la he probado).

Segun mi experiencia, Decidi manejar Clases, en los aplicativo es mucha mas rapido, y reduce mucho codigo. Ya que antes de iniciar mi proyecto, en una ocacion pregunte y el maestro linares, me recomendo usar clases y manejar Harbour.(Dandome unos ejemplos y diferencias entra Harbour y xHarbour).

Te Muestro las pantallas, y Me funciona con ADO Puro, Tdolphin, Tmysql y DBF. La aplicacion es tipo consola porque asi me la pidio el cliente la emigracion. y abre pantalla completa. Esta corriendo en Windows 10 a 64 Bits.


[url]
http://www.4shared.com/rar/vypsqjV9ba/pantallas.html
[/url]
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
AHF
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Pregunta Sobre ADORDD

Post by AHF »

Ruben,

Google translator:

ADORDD corre bien con Harbour. Por favor, consulte con Lucas de Beltrán.

Primero ADORDD fue desarrollado para permitir a los enormes aplicaciones antiguas de puertos a cualquier SQL sin cambios en el código.
Utiliza ADO puro.
Puede trabajar con ISAM (como cualquier otro RDD) o con SQL directa o ambos.
Tiene un esquema de bloqueo fiel a usar con seguridad nuestra aplicaciones antiguas ISAM basada.
adordd es muy rápido mas tal vez un poco más lento que estas clases, ya que hay que emular todas movimientos de registro.

Estoy de acuerdo que va a clases muy buenas pero no para convertir rápidamente aplicaciones antiguas.
Aquí estamos buscando un gran trabajo, cambiando la lógica del código, probando todo lo nuevo, nuevos errores, etc. Es una nova app.

Con ADORDD mantenemos los estándares clipper por lo que si queremos trabajar con otra fuente de datos sólo cambiamos la RDD.

Estoy de acuerdo en que debemos usar las herramientas que funcionan mejor para nosotros por lo que si te sientes más cómodo con yo proyectos con ese enfoque bien ADORDD su sólo una herramienta más.
Regards
Antonio H Ferreira
xmanuel
Posts: 768
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Pregunta Sobre ADORDD

Post by xmanuel »

Hola Rubén, en la actualidad ando liado con HDO (Harbour Data Objet) se parece un poco a ADO "puro" en cuanto que puede acceder a diferentes bases de datos sin tener que modificar el código.
Hay un hilo donde explico un poco el concepto.
Me encantaría que pudieras hacer un programita pequeño que recoriera un o más tablas de una base de datos. Si es en modo texto mejor.
Yo lo adaptaría a al concepto HDO y podríamos tomar medidas de velocidad.
En este momento sólo tengo desarrollado el RDL (Replaceable Data Link) para SQLite, así que para igualdad de condiciones sería mejor que la base de datos fuera SQLite, qué te parece? :shock:

Un ejemplo de recorrer una tabla en HDO sería así:

Code: Select all | Expand



#include "hdo.ch"

//------------------------------------------------------------------------------

procedure main()

    local oDb, oStmt
    local cDb := "agenda.db"
    local cTabla := "socios"
    local cSql := "SELECT * FROM " + cTabla

    oDb := THDO():new( "sqlite" )

    if oDb:connect( cDb )

        TRY
            oStmt := oDb:query( cSql )
             cls
            ? "Prueba de fetchDirect y metodos get...()"
            ? "----------------------------------------"
            ?
            while oStmt:fetchDirect()
                ? oStmt:getInt( 1 ), oStmt:getString( 2 ), oStmt:getString( 3 ), ;
                  oStmt:getDouble( 4 ), oStmt:getString( 5 ), oStmt:getString( 6 )
            end
            ?
            ? "Fin de la prueba..."
            Inkey( 10 )
        CATCH
            msg( "Se ha producido un error" )
            muestra( oDb:errorInfo() )
        FINALLY
            oStmt:close()
        END

    endif

    oDb:disconnect()

return

//------------------------------------------------------------------------------
 


PD: Antonio (AHF) la semana que viene estaré por Lisboa y un par de días en Sintra, por si te apetece tomarte una birra conmigo y charlar un rato :D
______________________________________________________________________________
Sevilla - Andalucía
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta Sobre ADORDD

Post by ruben Dario »

Saludos

LIsto, voy hacer uno que recorra varias tablas. Claro no ponemos de acuerdo y praticamos a que direccion te envio el programa o los coloco en este mismo medio.

Voy a Instalarlo, creo que es SQLITE3.
Has trabajado mucho con SQLITE ?
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
AHF
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Pregunta Sobre ADORDD

Post by AHF »

Manuel,

PD: Antonio (AHF) la semana que viene estaré por Lisboa y un par de días en Sintra, por si te apetece tomarte una birra conmigo y charlar un rato :D


Claro que sim. Diz me por email disal.antonio.ferreira AT gmail.com quando vais estar em Sintra.
Regards
Antonio H Ferreira
xmanuel
Posts: 768
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Pregunta Sobre ADORDD

Post by xmanuel »

Hola Ruben.
Es SQLite3, efectivamente.

Ahora con la creacion del RDL para SQLite he trabajado mucho y estoy contento con lo que proporciona.

me lo muedes enviar a messoft(arroba)gmail.com
cambia(arroba) por @ :-)

Me tendrías que enviar también la base de datos :-)
______________________________________________________________________________
Sevilla - Andalucía
User avatar
ruben Dario
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta Sobre ADORDD

Post by ruben Dario »

YA te mande el ejemplo , con ADO y la base de datos al Email, Lo reciibo.

Saludos
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
xmanuel
Posts: 768
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Pregunta Sobre ADORDD

Post by xmanuel »

Ahora no puedo acceder a mi correo, ya que estoy de vacaciones en Sintra (portugal). La semana que viene lo vemos.
Además de código del programa necesitaría el EXE para poder ejecutarlo.

PD: He tenido el placer hoy de conocer a Antonio (AHF). Él ha podido ver ejemplos de HDO. Hemos hecho una prueva para insertar 1.000.000 ( un millón ) de registros tarda 10,97 segundos (menos de 11 segundos). En recorrer ese millón de registros tarda sólo 1,98 segundos (menos de 2 segundos)

La tabla ha sido creada con esta estructura:

CREATE TABLE socios (
clavesocio INTEGER PRIMARY KEY,
socio TEXT,
direccion TEXT,
telefono FLOAT,
miblob BLOB,
categoria TEXT )
______________________________________________________________________________
Sevilla - Andalucía
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: Pregunta Sobre ADORDD

Post by lucasdebeltran »

Hola Manuel,

Lo ideal sería que ADORDD usara tus métodos nativos a los motores de datos.

De esta forma, se comportaría igual que una dbf en cuanto a sintáxis (ADORDD ya lo hace, incluyendo los filtros, índices, etc), pero utilizando directamente el acceso directo en C al motor, en vez de ODBC. Esto sería brutal en cuanto a rapidez.

¿Tienes esta intención?.

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

Re: Pregunta Sobre ADORDD

Post by AHF »

Lucas,

google translator:

Sería increíblemente rápido.
La HDO y tiene una velocidad impresionante.

En los próximos días voy a publicar una nueva versión ADORDD ahora lleno suporte los índices con UDFs. Índices ahora son iguales a Clipper 100%.
Regards
Antonio H Ferreira
Post Reply