Page 1 of 1

Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Sat Jul 18, 2015 4:56 pm
by ruben Dario
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

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Sat Jul 18, 2015 9:10 pm
by Willi Quintana
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

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 12:45 am
by ruben Dario
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.

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 2:59 am
by joseluisysturiz
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:

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 12:48 pm
by Adolfo
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

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 1:07 pm
by ruben Dario
Adolfo,

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

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 2:40 pm
by cmsoft
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.

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Mon Jul 20, 2015 5:02 pm
by joseluisysturiz
...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:

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Tue Jul 21, 2015 4:18 pm
by xmanuel
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

Re: Pregunta Sobre Mysql Conexion aL Abril TAblas

PostPosted: Tue Jul 21, 2015 6:50 pm
by ruben Dario
Muchas Gracias, Por sus conceptos.
Quedo claro el manejo.