Incluyendo el SQLRDD

User avatar
Joaquim Ferrer
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Incluyendo el SQLRDD

Post by Joaquim Ferrer »

wilsongamboa wrote:mi experiencia
intente cuando apenas salio este producto pero me fallaba cuando hacia use \sistemas\siste001\empre001\ventas\ventas.dbf index \sistemas\siste001\empre001\ventas\ventas.ntx alias ventas
intente con una funcion que ellos tenian para _ pero no me funciono
hasta alli llegue eso unido a mis escasos conocimientos de sql en esa epoca ( y ahora ) me detuvieron no me atrevi a comprar la lib por mi falta de conocimiento del campo sql
saludos
wilson
pd: me cai del asiento cuando vi que estaban disponibles los fuentes ja ja ja
gracias a don Marcelo Lombardo y al equipo de xharbour.com !!
Wilson
No entiendo muy bien lo que pretendías al 'abrir' una tabla de la forma 'tradicional' con su ruta al fichero para SQLRDD
El concepto de Sistema Gestor de Bases de Datos es el de conectar a una BD, normalmente con un dominio, IP y luego accesar a sus tablas, sin importarte dónde están físicamente los ficheros ni sus índices
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
User avatar
Joaquim Ferrer
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Incluyendo el SQLRDD

Post by Joaquim Ferrer »

carlos vargas wrote:se necesita además un campo para controlar el borrado de fila, por defecto es sr_deleted
Muchas gracias Carlos por el aporte

No consigo dominar este tema, he probado lo siguiente

Code: Select all | Expand

SR_UseDeleteds(.T.)

   ? "Test SQLRDD"
   ? ""
   ? "Connecting to database..."

   cRDD := "SQLRDD"
   nCnn := SR_AddConnection( CONNECT_MYSQL, cConnString )

   cTable := "test"
   USE ( cTable ) EXCLUSIVE VIA ( cRDD )

   ? SR_DeletedName(), ordkeycount()

   ? "Delete", field->First, field->Last
   dbdelete()

 
Aunque cambie el valor de SR_UseDeleteds() con T o F, hace siempre lo mismo, elimina el registro

Si añado el campo sr_deleted a la tabla, tal como indicas, me produce error

Code: Select all | Expand

Error BASE/1109  Argument error: $
Called from SR_WORKAREA:GETBUFFER(3072)
Called from SR_WORKAREA:FIRSTFETCH(1777)
Called from SR_WORKAREA:SQLGOTOP(3589)
Called from MAIN(77)
 
En el codigo de METHOD GetBuffer( lClean, nCache ) CLASS SR_WORKAREA

Code: Select all | Expand

3071      If ::hnDeleted > 0 .and. ::aLocalBuffer[ ::hnDeleted ] != NIL
3072         ::aInfo[ AINFO_DELETED ] := ::aLocalBuffer[ ::hnDeleted ] $ "T*"
3073      Else
         ::aInfo[ AINFO_DELETED ] := .F.
      EndIf
 
Si le cambio el nombre del campo con SR_DeletedName( "deleted" ), no produce error, pero no hace nada, el registro se elimina, no se actualiza

Gracias por la ayuda !
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
User avatar
Joaquim Ferrer
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Incluyendo el SQLRDD

Post by Joaquim Ferrer »

Descubriendo más misterios...

Si se usa SR_UseDeleteds(.F.) ANTES de la apertura con USE ( cTable ) EXCLUSIVE VIA ( cRDD ), SQLRDD crea el campo sr_deleted, si no lo tiene, de forma automática

Entiendo que SR_UseDeleteds(.F.) no conserva el valor globalmente, si no se define inmediatamente antes de USE

El campo sr_deleted o el que podamos definir con SR_DeletedName("deleted"), hay que crearlo con el tipo de datos CHAR, longitud 1 y que contiene una T o F simulando una variable lógica

Creo que el error anterior era que definia al campo deleted con INT i TYNINT creyendo que podia ser 0 o 1 y por eso no funcionaba

Vamos avanzando :)
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Incluyendo el SQLRDD

Post by wilsongamboa »

Joaquim buenos dias yo intentaba abrircon todo el camino y ellos tenian una funcion global que usaba ejemplo
use \sistemas\empre001\ventas\cliente
se transformaba en una tabla en la base de datos asi

_sistemas_empre001_ventas_cliente

con eso cliente en cualquier empresa se diferenciaba dentro de la base de datos pero en mi caso habia un limite de caracteres y no pude hacer la migracion
lo voy a intentar una vez este ya compilado a Harbour totalmente

saludos

Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Rossine
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Re: Incluyendo el SQLRDD

Post by Rossine »

Hello,

See this project for harbour and Harbour++

https://github.com/marcosgambeta/sqlrddpp
Obrigado, Regards, Saludos

Rossine.

Harbour and Harbour++
russimicro
Posts: 262
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia

Re: Incluyendo el SQLRDD

Post by russimicro »

Buena tarde...
Les cuento mi experiencia con SQLRDD, uso la versión comercial hace más de 10 años, desde hace unos meses decide abandonarlo, adelantándome a lo que paso... y he probado MySQL y MARIADB nativo con fivewin , y he obtenido mejor rendimiento ..

Saludos

JONSSON RUSSI T.
Colombia
User avatar
Joaquim Ferrer
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Incluyendo el SQLRDD

Post by Joaquim Ferrer »

russimicro wrote:Buena tarde...
decide abandonarlo, adelantándome a lo que paso...
Y qué pasó ?
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
paquitohm
Posts: 284
Joined: Fri Jan 14, 2022 8:37 am

Re: Incluyendo el SQLRDD

Post by paquitohm »

Especulando... supongo que lo que pasó es que el producto se hizo open source y así dejó de ser comercial y así (probablemente) dejó de tener soporte empresarial
User avatar
José Luis Sánchez
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Re: Incluyendo el SQLRDD

Post by José Luis Sánchez »

Buenos días,
¿ se puede usar SQLRDD con una base de datos SqLite ?

Saludos,
User avatar
Joaquim Ferrer
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Incluyendo el SQLRDD

Post by Joaquim Ferrer »

José Luis Sánchez wrote:Buenos días,
¿ se puede usar SQLRDD con una base de datos SqLite ?
Buenos dias

Hasta donde sé y basándome sólo en lo que dice sqlrdd.ch, no lo acepta

Code: Select all | Expand

#define CONNECT_ODBC                   1
#define CONNECT_RPC                    2
#define CONNECT_MYSQL                  3
#define CONNECT_POSTGRES               4
#define CONNECT_ORACLE                 5
#define CONNECT_FIREBIRD               6
#define CONNECT_MARIA                  7
#define CONNECT_ORACLE2                8
#define CONNECT_FIREBIRD3              9
 
Saludos
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
User avatar
mgsoft
Posts: 422
Joined: Mon Aug 17, 2009 12:18 pm
Location: España

Re: Incluyendo el SQLRDD

Post by mgsoft »

José Luis,

Puedes acceder via ODBC, como también a Access, que quizás sería lo más adecuado porque en este caso no hay que instalar el driver ODBC.

Saludos cordiales
Saludos,

Eduardo
Post Reply