SQL Passthrough, Ado o Cursor Adapter? Conexiones persintentes?

211 views
Skip to first unread message

juan valencia

unread,
Jan 28, 2016, 9:03:37 PM1/28/16
to Comunidad de Visual Foxpro en Español
Tengo mi sistema hecho de manera "tradicional" con bd nativas y quiero migrar mis datos a un gestor Mysql. 
He hecho mis pruebas en vacio usando SQL Passthrough (ODBC), Ado-Oledb y Cursor Adapter y he logrado hacer selects y Updates basicos.
Las preguntas con la siguientes:
1. Que método recomiendan que utilice ¿SQL Passthrough (ODBC), Ado-Oledb, o Cursor Adapter? (A priori me pareciera que para datos no editables odbc o ado son los indicados.. y para datos que voy a editar CursorAdapter seria lo mas practico)
2. ¿Cuantas conexiones abro para "jalar, editar" los datos en mi sistema? ¿Una conexión para toda la aplicación?, ¿una conexión por formulario? ¿una conexión por tabla?


Saludos y Gracias

Antonio Meza

unread,
Jan 28, 2016, 9:37:29 PM1/28/16
to Comunidad de Visual Foxpro en Español
Tanto Cursor Adapter como SPT y ADO se usan para leer y guardar datos no debes pensar que algunos son solo para leer.

Te recomiendo leas un poco sobre FoxyDB es una librería gratuita que usa SPT (SQL PassT....) tiene muchas ventajas sobre Cursor Adapter, es mas fácil de implementar, puedes manejar una sola conexión permanente, una conexión por formulario (no recomendado nunca) y puedes conectar y desconectar en automático cada que hagas una consulta como se maneja en buenas practicas. al final puedes hacer lo que gustes la librería te lo permite.

La ventaja es que puedes manejar Mysql, MariaDb y FIreBird estoy haciendo pruebas con PostGreSql pero me falta tiempo así que no sera inmediato.



saludos
Antonio Meza

juan valencia

unread,
Jan 28, 2016, 10:22:55 PM1/28/16
to Comunidad de Visual Foxpro en Español
bueno lo de usar los cursorAdapters para guardar los datos lo decía porque con un Tableupate() el CursorAdapter te envía  los datos al servidor automaticamente (supongo que internamente genera una sentencia sql "update/insert Delete"); lo que con SPT y ADO tendrías que generar la sentencia sql "a mano" por decirlo. 
Sobre las conexiones, debo entender que abró una conexion (digamos al iniciar el sistema), capturo el handle de esa conexion y uso esa conexion(handle) para todos los proceso del sistema ¿correcto?

Y nos daremos una vuelta por FoxyDB... 
Gracias Antonio

Antonio Meza

unread,
Jan 28, 2016, 10:55:10 PM1/28/16
to Comunidad de Visual Foxpro en Español
Hay varias formas y depende mucho de tu forma de programar, su usas formularios con sesión privada de datos, usar un Handle no te serviría porque la conexión se realizo dentro de una sesión y los cursores serán exclusivos de esa sesión de datos, lo que se puede hacer en esos caso es compartir la conexión y conectarte usando la conexión compartida lo que hace realmente es que usa el mismo Handle pero en VFP es como si hubiera múltiples conexiones y físicamente es solo una, eso lo puedes hacer también con FoxyDb.

También dependerá si trabajas en Red local, wan, si usas Wifi o cableada, son muchas variables y en todas ellas siempre prefiero usar conexión y desconexion, es decir conectarme al servidor para realizar algo y desconectarme una vez terminado, y eso también lo haces desde FoxyDb de forma automática.

FoxyDB usa SPT pero tan sencillo como db.Update("cursor") para actualizar y luego db.Commit() para aplicar los cambios y finalizar la transacción nativa del servidor de base de datos. FoxyDb se encarga de generar las instrucciones SQL necesarias para el manejo de datos, transacciones y todas esas raras yerbas que necesitas para trabajar con un servidor de base de datos jejeje

saludos
Antonio Meza

Carlos Miguel FARIAS

unread,
Jan 29, 2016, 5:52:46 AM1/29/16
to Grupo Fox
El cursor adapter es un componente netamente fox. Mientras que la librería de Antonio, al usar SQL Passthru es portable a futuro si tienes que cambiar de lenguaje. Por ende, tu diseño de aplicación, pensando que en algún momento, fox no corra (o por oportunidad laboral) y tengas que migrar, vas poder transportar la lógica de FoxyDB pero no la de CA.
Saludos: Miguel, La Pampa (RA)

Larga Vida y Prosperidad
Que la Fuerza los acompañe ya que el Fox rompe los Eggs, (firmado the chicken)
Reply all
Reply to author
Forward
0 new messages