Nuevo AdoRDD (libre)

Enrrique Vertiz
Posts: 440
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru
Contact:

Post by Enrrique Vertiz »

EXCELENTE, esto es un gran paso adelante, aqui estamos para probar y colaborar
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Enrrique Vertiz
Posts: 440
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru
Contact:

Post by Enrrique Vertiz »

Una primera consulta, ADO necesita que se instale primero el conector ODBC de la Base de Datos que vamos a usar, es correcto ???
Si es asi, la libreria dara algun mensaje de alerta/error cuando no se encuentre instalado el Conector ODBC ???
Gracias
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Post by R.F. »

Enrique.ç:

Depende del tipo de servidor al que te quieras conectar, los que proveen de un "ADO PROVIDER" nativo no necesitan que instales el ODBC, por ejemplo ADS, SQL Server y Access tienen provider nativo, solo tienes que instalar el provider en tu cliente y listo.

MySQL en cambio no tiene provider nativo y la conexion tiene que hacerse por ODBC, en este caso tienes que instalar el controlador MyODBC 3.51 y trabajar ado atravez de ODBC.
Saludos
R.F.
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

Para los que estan usando xHarbour y tengan el siguiente problema :

Code: Select all

Error: Unresolved external '_HB_FUN_USRRDD_RDDDATA' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_USRRDD_AREADATA' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_USRRDD_ID' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_UR_SUPER_ERROR' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_UR_SUPER_SETFIELDEXTENT' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_UR_SUPER_ADDFIELD' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_UR_SUPER_OPEN' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_UR_SUPER_CLOSE' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Error: Unresolved external '_HB_FUN_USRRDD_GETFUNCTABLE' referenced from C:\XHARBOUR\LIB\ADORDD.LIB|adordd
Se resuelve agregando la librería usrrdd en su ambiente de compilación.

Además si estan usando Microsoft SQL Server 2005 , y desean usar el rdd , deben hacer una pequeña modificación al programa adordd.prg

Code: Select all

       case s_cEngine == "SQL"
              oAdo:CursorType      = adOpenStatic
              oAdo:CursorLocation = adUseClient
              oAdo:LockType         = adLockPessimistic
              oAdo:Open( "SELECT * FROM " + s_cTableName,;
                                "Provider=SQLOLEDB;" + ;
                                "server=" + s_cServer + ;
                                ";database=" + aOpenInfo[ UR_OI_NAME ] + ;
                                ";uid=" + s_cUserName + ;
                                ";pwd=" + s_cPassword, adOpenKeyset, adLockOptimistic )
Además de que también deben de modificar la siguiente linea de Adordd.ch

Code: Select all

[ <dbEngine: ACCESS, MYSQL, ORACLE, INFORMIX, SQL> ];
Y la forma de llamar una tabla seria la siguiente :

Code: Select all

   USE northwind VIA "ADORDD" TABLE "Customer" SQL ;
      FROM "ServerSql2005" USER "sa" PASSWORD "super"
   Browse()
Y finalmente cómo dice Rene, SQL no necesita de ODBC.

Fernando y Antonio...¡¡ felicitaciones por este aporte !!

Por cierto.... las conexiones remotas con SQL y MySQL funcionan perfectamente.
Vikthor
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

Aquí les dejo una pequeña modificación al rdd.

Realmente es algo muy sencillo pero desde mi punto de vista demasiado practico.

Code: Select all

   USE northwind VIA "ADORDD" TABLE "Customer" SQL ;
      FROM "ServerSql2005" USER "sa" PASSWORD "Super" QUERY "Select Contact,Phone FROM "
   Browse()

   USE

El cambio consiste en agregar la claúsula QUERY para de esta forma poder crear consultas más dínamicas.


En el adordd.ch

Code: Select all

#command USE <(db)> [VIA <rdd>] [ALIAS <a>] [<nw: NEW>] ;
            [<ex: EXCLUSIVE>] [<sh: SHARED>] [<ro: READONLY>] ;
            [CODEPAGE <cp>] [INDEX <(index1)> [, <(indexN)>]] ;
            [ TABLE <cTable> ] ;
            [ <dbEngine: ACCESS, MYSQL, ORACLE, INFORMIX, SQL> ];
            [ FROM <cServer> ] ;
	    [ QUERY <cQuery> ] ;
            [ USER <cUser> PASSWORD <cPassword> ]=> ;
         [ HB_AdoSetQuery( <cQuery> ) ; ] ;
         [ HB_AdoSetTable( <cTable> ) ; ] ;
         [ HB_AdoSetEngine( <(dbEngine)> ) ; ] ;
         [ HB_AdoSetServer( <cServer> ) ; ] ;
         [ HB_AdoSetUser( <cUser> ); HB_AdoSetPassword( <cPassword> ) ; ] ;
         dbUseArea( <.nw.>, <rdd>, <(db)>, <(a)>, ;
                    if(<.sh.> .or. <.ex.>, !<.ex.>, NIL), <.ro.> [, <cp>] ) ;
         [; dbSetIndex( <(index1)> )] ;
         [; dbSetIndex( <(indexN)> )]
y en adordd.prg agregar la variable STATIC s_Query y este trozo de código

Code: Select all

* Vikthor  27.Abr.2007
#xcommand DEFAULT <uVar1> := <uVal1> ;
               [, <uVarN> := <uValN> ] => ;
                  <uVar1> := If( <uVar1> == nil, <uVal1>, <uVar1> ) ;;
                [ <uVarN> := If( <uVarN> == nil, <uValN>, <uVarN> ); ]

function HB_AdoSetQuery( cQuery )

	DEFAULT cQuery := "SELECT * FROM "

   s_Query = cQuery

return nil

¡¡¡ y listo el pollo !!!!
Vikthor
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Vikthor,

Muchas gracias por tus aportaciones al ADORDD, vamos a subirlas al CVS de Harbour.

Gracias tambien por tus pruebas. Agradecemos a todos los programadores que deseen colaborar en su desarrollo para que el ADORDD llegue a ser una herramienta muy util para todos :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Code: Select all

2007-04-27 19:33 UTC+0100 Antonio Linares (alinares@fivetechsoft.com)
   * contrib/adordd/adordd.ch
   * contrib/adordd/adordd.prg
      * QUERY support and MS SQL support (thanks to Vikthor!)

Vikthor already successfully tested the ADORDD on Microsoft SQL server and added a new clause QUERY :-)

Regards,

Antonio
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

¡¡¡ ayy, ayy, ayyy !!!!

Que lindo se siente ver mi nombre en un programa.

¡¡¡¡¡ ajuaaa !!!!
Vikthor
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Vikthor,

Si te animas a hacerle más cambios podemos solicitar que te den de alta en el equipo de desarrollo de Harbour y puedes subir tus cambios directamente al CVS de Harbour :-)

Seria estupendo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

Excelente aportacion !!!
:-)
Adelante y Exito !!

Lo dificil es facil, cuando el dificil aporta lo facil ...
salu2
paco
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

Antonio Linares wrote:Vikthor,

Si te animas a hacerle más cambios podemos solicitar que te den de alta en el equipo de desarrollo de Harbour y puedes subir tus cambios directamente al CVS de Harbour :-)

Seria estupendo :-)
¿ Qué datos te tengo que enviar ?
Vikthor
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Vikthor,

Solo tienes que darte de alta en www.sourceforge.net , y proporcionarnos el login (ID) que elijas.

Para la próxima modificación del ADORDD que hagas, le pedimos al equipo de Harbour que te den de alta y pasas a formar parte del equipo de desarrollo de Harbour :-)
Last edited by Antonio Linares on Fri Apr 27, 2007 7:17 pm, edited 2 times in total.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

el ejemplo que puso el sr. Antonio,

USE test00 VIA "ADORDD" TABLE "ACCOUNTS" MYSQL ;
FROM "www.freesql.org" USER "myuser" PASSWORD "mypass"

funciona de maravila y rapidicimo.

pero si cambiamos la instrucion como sigue:

USE CONFIG VIA "ADORDD" TABLE "PRUEBA" MYSQL ;
FROM 'LOCALHOST' USER "root" PASSWORD "01898"

marca el siguiente error:

Application
===========
Path and name: C:\XHARBOUR\TESTADO\TESTADO.Exe (32 bits)
Size: 1,329,664 bytes
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 04/27/07, 20:04:33
Error description: Error ADODB.Recordset/16389 E_FAIL: OPEN
Args:
[ 1] = C SELECT * FROM PRUEBA
[ 2] = C DRIVER={MySQL ODBC 3.51 Driver}; SERVER=LOCALHOST;DATABASE=CONFIG;UID=root;PWD=01898
[ 3] = N 1
[ 4] = N 3

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:OPEN(0)
Called from: => ADO_OPEN(144)
Called from: => DBUSEAREA(0)
Called from: testado.prg => MAIN(21)


probando con MYSQL-FRONT si puedo realizar la conexion.


Saludos y larga vida a FW.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Cesar,

Prueba a usar "127.0.0.1" en vez de 'LOCALHOST'
regards, saludos

Antonio Linares
www.fivetechsoft.com
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Post by horacio »

Estoy compilando con Harbout 0.99.60 y a pesar que he agregado usrrdd.ch en el ambiente de compilación me tira los errores que Viktor describe en su post. Por qué será Muchas gracias de antemano
Post Reply