Aunque esto, Javier, implique una modificación un poco más profunda de tu
aplicación, debo decir que estoy totalmente de acuerdo con mi tocayo. 

Tomalo en consideración.

 

C.S.

 

From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Carlos
Peix
Sent: Friday, November 07, 2008 16:51
To: puntonet@mug.org.ar
Subject: [puntonet] Error al ejecutar metodo contra Sybase.

 

Javier,

 

Veo que mencionas que estas guardando la conexion en la sesion y supongo que
estas en una aplicacion Web.

 

Si este es tu caso, esto no es muy recomendable, incluso diria que es una
mala practica en general. esto se debe a multiples motivos pero creo que la
escalabilidad es el mas relevante.

 

Sugiero que utilices el siguiente modelo (en C# de memoria)

 

using (OleDbConnection cn = new OleDbConnection(connectionString))

{

    OleDbCommand cm = new OleDbCommand("select .....", cn);

    OleDbDataAdapter da = new OleDbDataAdapter(cm);

    da.Fill(dataSet);    

}

 

Del costo de hacer la conexion deberia encargarse el pool de conexiones,
aunque no me queda claro el tema del limite de procedimientos que
mencionaron.

 

Saludos

 

Carlos Peix

 

  _____  

De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Javier
Osvaldo Chércoles
Enviado el: Viernes, 07 de Noviembre de 2008 12:28 p.m.
Para: puntonet@mug.org.ar
Asunto: [puntonet] Error al ejecutar metodo contra Sybase.

Mil gracias, muy buena tu ayuda.

----- Original Message ----- 

From: [EMAIL PROTECTED] 

To: puntonet@mug.org.ar 

Sent: Friday, November 07, 2008 11:28 AM

Subject: [puntonet] Error al ejecutar metodo contra Sybase.

 



Yo te recomendaría llamando el .Dispose() de todos los objetos que ejecutan
cualquier acción sobre la base. Este método se encarga de liberar los
recursos. Si no lo llamás explìcitamente, va a depender del proceso que el
GC efectúa para seleccionar los objetos que elimina de la memoria. Esto no
sucede de manera determinística y puede variar la cantidad de tiempo que el
objeto quede en memoria tomando los recursos hasa que el GC invoque el
.Finalize(). 

Responder a