FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Pregunta Sobre Mysql Conexion aL Abril TAblas
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Sat Jul 18, 2015 04:56 PM

Saludos Al Forum

Alguione le ha pasado , Cuando abro mas de 50 Tablas me genera Error 0X80004005 que puede Ser el error

Usa Esta Version mysql-5.5.40 para winx64

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Sat Jul 18, 2015 09:10 PM

Hola...
Las abres todas al mismo tiempo??? yo tengo una App con 89 tablas y las abro según las necesito, pero luego las cierro....
Salu2

Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 12:45 AM

Te pregunto , Tu las cierras, y las vuelves abrir deacuerdo a las necesidades.
Segun consulte una vez , no hay necesidad de cerrarlas , no se si entendi mal. Tu les das el mismo manejo , como de maneja los DBF.
se deberia de manejar de esta manera. Es la duda que tengo.

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 02:59 AM

Considero que lo mas adecuado es abrir las tablas solo al momento de usarlas, asi no consumes recursos innecesarios, lo que si mantengo siempre es la conexion..hasta que cierra la aplicacion, saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 12:48 PM

Ruben...

Supongo que la abrir las tablas no te refieres a hacer un "select *" de cada una, esa no es la mejor manera de interactuar con SQL, a menos que sea absolutamente necesario.

Tu no "abres" las tablas... tu haces una consulta sobre las tablas que te trae cierta cantidad de registros, eso obviamente queda cargado en memoria y se cargan de acuerdo al cache especificado, se puede traer la consulta completa o solo parte de ella.

Lo ideal, es hacer la consulta sobre la tabla o tablas relacionadas, realizar el proceso, cerrar la consulta y asi liberar la memoria asignada. La potencia de SQL esta en poder traer solo lo que requieres en su momento desde una o mas tablas relacionadas, repito, relacionadas. ASi combinas tus datos resultado segun lo que necesites.

Olvidate de la metodologia de trabajo que tenias con las DBF, ya no se abre la "tabla", se consulta por los datos dentro de ella, y se trabaja con esa consulta. Se termino de trabajar y la cierras.

Cualquier duda... aqui estamos

Desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 01:07 PM

Adolfo,

Gracias
si me refiero a refieres a hacer un "select *, claro me falta cerrarlo, al terminar el proceso.

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 02:40 PM

Ruben:
Tal cual te explica muy bien Adolfo, lo que traes en una consulta, es el estado de una tabla de MySql, en el momento que haces la consulta y segun los filtros que le apliques (WHERE, LIMIT, Etc). La consulta te queda en el objeto Query que hayas creado, y para obtener una actualización de los datos de la consulta, tienes que refrescar la misma. Por lo tanto, no es conveniente que hagas el "SELECT" al inicio del programa, puesto que así deberías hacer los correspondiente refresh cada vez que la consulta vuelve a tomar el foco. Sobre todo si trabajas en un ambiente multiusuario.
Asimismo, el motor SQL hará los controles necesarios para mantener la integridad referencial y la unicidad de datos, aunque en la consulta NO VEAS los datos. Por ejemplo si indicaste como clave única de una tabla el campo CODIGO y cuando levantas la consulta existen los codigos 1; 2 y 3, y haces lo mismo en otra terminal, tambien te traerá los mismos codigos, al agregar el codigo 4 en la primera, te lo dejara cargar, pero en la segunda terminal si quieres volver a agregar el codigo 4, te dará un error de clave duplicada. Por eso una manera optima de hacer los procesos de grabacion en la base de datos, es mediante TRY CATCH, y usando BeginTransaction y RollBack o Commit. Con Dolphin, todas esas opciones estan incluidas en la libreria...
Solo un aporte, espero te sirva.

Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Mon Jul 20, 2015 05:02 PM

...y la cereza del helado, como ya te hando dicho los demas colegas, solo se hacen consultas a las tablas, con las cuales puedes hacer multiples combinaciones de consultas realizando una sola...usan por lo menos el methodo SETWHERE podras hacer una consulta mas minuciosa sobre una consulta ya realizada, y como lo que ceras son QUERYS...lo recomendable es que al salir de ese proceso de consulta, mates el QUERY, oQry:END(), aunque segun entendi en su oportunidad de Daniel, al salir del procedure o function donde hayas hecho la consulta, se mata por si mismo, poer por si las moscas..yo los REMATO..jejeje..estamos como los demas a la orden para cualquier otra duda, saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Tue Jul 21, 2015 04:18 PM

Como dice Adolfo no se abren tablas si no que se hacen consultas a la bases de datos con un SELECT y esta te devuelve un conjunto de datos que cumple con dicho SELECT y sus condiciones.
Claro que ese "conjunto de datos" hay que guardarlo temporalmente en algún sitio y, eso normalmente es en la memoria del equipo cliente. La falta de memoria te puede llevar a errores probocados por "poca memoria disponible"
Corre por cuenta del programador hacer SELECT muy optimizados para el PC cliente donde se van a ejecutar y una vez procesado el conjunto de datos liberalo para recuperar la memoria. :D

______________________________________________________________________________

Sevilla - Andalucía
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Pregunta Sobre Mysql Conexion aL Abril TAblas
Posted: Tue Jul 21, 2015 06:50 PM

Muchas Gracias, Por sus conceptos.
Quedo claro el manejo.

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com

Continue the discussion