Page 2 of 18

Posted: Fri Apr 27, 2007 1:58 pm
by Enrrique Vertiz
EXCELENTE, esto es un gran paso adelante, aqui estamos para probar y colaborar

Posted: Fri Apr 27, 2007 2:08 pm
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

Posted: Fri Apr 27, 2007 3:55 pm
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.

Posted: Fri Apr 27, 2007 4:27 pm
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.

Posted: Fri Apr 27, 2007 4:55 pm
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 !!!!

Posted: Fri Apr 27, 2007 5:15 pm
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 :-)

Posted: Fri Apr 27, 2007 5:38 pm
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

Posted: Fri Apr 27, 2007 6:13 pm
by Vikthor
¡¡¡ ayy, ayy, ayyy !!!!

Que lindo se siente ver mi nombre en un programa.

¡¡¡¡¡ ajuaaa !!!!

Posted: Fri Apr 27, 2007 6:36 pm
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 :-)

Posted: Fri Apr 27, 2007 6:42 pm
by Francisco Horta
Excelente aportacion !!!
:-)
Adelante y Exito !!

Lo dificil es facil, cuando el dificil aporta lo facil ...
salu2
paco

Posted: Fri Apr 27, 2007 7:02 pm
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 ?

Posted: Fri Apr 27, 2007 7:12 pm
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 :-)

Posted: Sat Apr 28, 2007 1:07 am
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.

Posted: Sat Apr 28, 2007 7:11 am
by Antonio Linares
Cesar,

Prueba a usar "127.0.0.1" en vez de 'LOCALHOST'

Posted: Sat Apr 28, 2007 10:54 am
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