Nuevo AdoRDD (libre)
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
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
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
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
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.
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.
R.F.
Para los que estan usando xHarbour y tengan el siguiente problema :
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
Además de que también deben de modificar la siguiente linea de Adordd.ch
Y la forma de llamar una tabla seria la siguiente :
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.
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
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 )
Code: Select all
[ <dbEngine: ACCESS, MYSQL, ORACLE, INFORMIX, SQL> ];
Code: Select all
USE northwind VIA "ADORDD" TABLE "Customer" SQL ;
FROM "ServerSql2005" USER "sa" PASSWORD "super"
Browse()
Fernando y Antonio...¡¡ felicitaciones por este aporte !!
Por cierto.... las conexiones remotas con SQL y MySQL funcionan perfectamente.
Vikthor
Aquí les dejo una pequeña modificación al rdd.
Realmente es algo muy sencillo pero desde mi punto de vista demasiado practico.
El cambio consiste en agregar la claúsula QUERY para de esta forma poder crear consultas más dínamicas.
En el adordd.ch
y en adordd.prg agregar la variable STATIC s_Query y este trozo de código
¡¡¡ y listo el pollo !!!!
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
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)> )]
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
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.
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.
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 "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: