Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conexion y desconexion a una MYSQL (https://www.clubdelphi.com/foros/showthread.php?t=90803)

lbidi 07-09-2016 19:39:19

Conexion y desconexion a una MYSQL
 
Estimados tengo la necesidad de anexar a mi sistema ( XE5, Sybase ADS ) , una conexion contra una MySql de otro servidor de la cual obtener ciertos registros , mostrarlos en una grilla, seleccionar e insertar en mi sistema y actualizar algunos campos en la misma MYSQL.

Este proceso lo hice con una SMDBGRID, una conexion FDConnection ( FIREDAC ) y una FDQuery con un DataSource asociado y este a la grilla.

Segun los tecnicos de la empresa que mantiene la MYSql, me dicen que "genera" ciertos bloqueos en la misma y que hay muchas conexiones porque ademas mi pequeño sistema se corre en varias pcs.

Me han comentado que generalmente uno deberia conectarse a la bd, obtener los registros y desconectarse. ( no desarrollo casi nunca para MYSQL ).

Asi que mi pregunta seria , los componentes de datos que uso, son los adecuados ?? No he usado Clientdataset o alguno similar , ni siquiera se como , o con cuales otros componentes hacer lo que necesito. Un colega me ha comentado que deberia de generar un recordset , un array o una clase, para poder asociarla a la grilla y que pueda utilizar esos datos sin estar conectado a la BD, en lo cual me estaria conectando solocamente cuando sea necesario y luego me desconecto. Me explico ??

Agradezco cualquier sugerencia.

Leo.

Neftali [Germán.Estévez] 08-09-2016 09:19:38

Cita:

Empezado por lbidi (Mensaje 508592)
Me han comentado que generalmente uno deberia conectarse a la bd, obtener los registros y desconectarse. ( no desarrollo casi nunca para MYSQL ).

Asi que mi pregunta seria , los componentes de datos que uso, son los adecuados ?? No he usado Clientdataset o alguno similar , ni siquiera se como , o con cuales otros componentes hacer lo que necesito. Un colega me ha comentado que deberia de generar un recordset , un array o una clase, para poder asociarla a la grilla y que pueda utilizar esos datos sin estar conectado a la BD, en lo cual me estaria conectando solocamente cuando sea necesario y luego me desconecto. Me explico ??


Si las consultas que vas a hacer es esporádica sí que puedes conectarte y desconectarte cada vez, pero si las consultas son continuas es algo que no se suele hacer, porque normalmente el proceso de conexión es costoso (tarda más que la consulta en si).

Por otro lado, si que puedes hacer algunos cambios para modificar el comportamiento.
Por ejemplo, si usas TClientDataset, puedes realizar la consulta y luego cerrarla, de forma que los datos quedan en local (los mantiene el TClientDataset).
Además, la mayoría de componentes de acceso a datos (no conozco en profundidad FireDAC, pero supongo que también lo tendrán) poseen opciones para abrir consultas en modo sólo lectura o con diferentes tipos de cursores. Revisa estas propiedades.
Si tu consulta es sólo de lectura es posible que puedas modificar alguna de ellas para evitar los bloqueos.


La franja horaria es GMT +2. Ahora son las 00:51:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi