Es Tdolphin thread safe ?

Es Tdolphin thread safe ?

Postby Salvador » Tue Jul 23, 2013 9:21 pm

Hola a todos .
Tengo la duda si Tdolphin thread safe.
Estoy migrando una aplicación realizada con ADO/SQLSERVER que lleva varios años funcionando sin problemas, a TDOLPHIN/MySql.
En el funcionamiento ADO/SQLSERVER, se abre una sola conexión al inicio de la aplicación y todas las consultas que se generan desde diferentes threads (varios cientos simultáneos), se realizan sobre la misma conexión.
Con TDOLPHIN/MySql esta técnica no funciona, se debe crear una conexión para cada nuevo thread que se genera ya que la conexión del thread principal no queda visible al resto. Funciona durante un tiempo indeterminado tras el cual la aplicación se detiene con errores como:.

Error BASE/1301 : Reference to freed block
Called from HB_GCALL(0)
Called from CHECKSERVER(111) -> Thread

Error BASE/1301 : Reference to freed block
Called from INKEY(0)
Called from MAIN(83) ->Main Thread


Cualquier sugerencia será agradecida.
Saludos
Salvador
Salvador
 
Posts: 144
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Re: Es Tdolphin thread safe ?

Postby Armando » Wed Jul 24, 2013 12:18 am

Salvador:

Lamento no tener respuesta a tu duda, sin embargo me ha creado una pregunta.

Por qué quieres migrar una aplicación que te ha funcionado por mucho tiempo?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Es Tdolphin thread safe ?

Postby thefull » Wed Jul 24, 2013 8:14 am

¿ Has probado de conectar a MySQL con ADO ?
Quizás te sea más sencillo , cambias la cadena de conexión y mira que las sentencias sean compatibles.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Es Tdolphin thread safe ?

Postby Salvador » Wed Jul 24, 2013 1:46 pm

La empresa donde se debe instalar funciona con MySql, también pensaba que desde Dolphin si todo funcionaba correctamente, podría compilar para Linux pero.... mi gozo en un pozo.
De momento seguiré tu sugerencia y probaré con ADO/MySql a ver que tal. Tampoco estoy seguro de que el problema no venga de Mysql, tengo poca experiencia con este motor de base de datos.

Armando, Rafa, muchas gracias por vuestro interés.
Saludos
Salvador
Salvador
 
Posts: 144
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Re: Es Tdolphin thread safe ?

Postby lucasdebeltran » Wed Jul 24, 2013 1:58 pm

Hola Salvador,

Puedes usar MySQL via ODBC con ADO sin ningún problema.

Además, te recomiendo que veas la clase TDataRow y las funciones que tiene Fivewin para conectar, acceder a recordsets, crear tablas y bases de datos, etc.

Es lo bueno de ADO, que permite cambiar de DB sin tocar el código.
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Es Tdolphin thread safe ?

Postby lucasdebeltran » Wed Jul 24, 2013 2:00 pm

Puedes conectar a MySQL así


cStr := "Driver={MySQL ODBC 3.51 Driver};Server=db4free.net;" + ;
"Database=pruebas;User=pruebas;Password=123456;Option=3;"

oCn := FW_OpenAdoConnection( cStr )



Un saludo
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Es Tdolphin thread safe ?

Postby Salvador » Thu Jul 25, 2013 9:26 am

Lucas, gracias por tu sugerencia.

Es una aplicación que funciona como servicio de windows, no utiliza fivewin.
Probaré con el ODBC de Mysql, aunque según tengo entendido ADO solo funciona con windows.
¿ Conoces otra posibilidad a parte de Tdolphin para conectar con Mysql compatible con LINUX. ?

Muchas gracias de nuevo.
Saludos
Salvador
Salvador
 
Posts: 144
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Re: Es Tdolphin thread safe ?

Postby Daniel Garcia-Gil » Thu Jul 25, 2013 5:36 pm

Salvador

el tema me interesa un poco, pues desde hace tiempo he querido incluir procesos multi tarea en dolphin y la misma clase sea capaz de controlarlos, puedes enviarme un ejemplo simple de lo que intentas hacer para ver que opcion hay de añadirlo a la clase

mi email es: danielgarciagil@gmail.com
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Es Tdolphin thread safe ?

Postby Salvador » Sat Aug 03, 2013 8:14 pm

Daniel, con Ado/MySql funciona correctamente.
Espero que el código que te envié te sirva.
Quedo a la espera de que puedas incluir mejoras en Tdolphin para manejar threads, me permitiría compilar para Linux.

Muchas gracias por tu interés.
Saludos
Salvador
Salvador
 
Posts: 144
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Re: Es Tdolphin thread safe ?

Postby Daniel Garcia-Gil » Sat Aug 03, 2013 10:34 pm

Salvador

de la forma que lo haces esta bien, creo que el problema podria estar por otro lado, (tratandose de los threads en linux) trata de probar el mismo codigo que usas en linux en window, el que tienes sin ADO con TDolphin
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 105 guests