Problema de conexión con base de datos

23/02/2009 - 09:59 por Alfredo | Informe spam
Hola
Estoy haciendo una aplicación para una empresa y, cuando trabajamos con
ella, nos aparece aleatoriamente este error: Gill: la propiedad
SelectCommandConnection no se ha inicializado.

El error nos aparece cuando trabajamos con la aplicación contra un
servidor IIS. Creemos que el problema está en la conexión del servidor IIS
con el SQL Server (tal vez porque no se abre la conexión y la aplicación
intenta recuperar datos de la BBDD antes de que el IIS tenga la conexión
activa con la BBDD).

¿Alguna idea para solucionarlo?

Gracias

Preguntas similare

Leer las respuestas

#1 Angel J. Hernández M.
24/02/2009 - 06:34 | Informe spam
Qué tal, Alfredo? Por casualidad tu error se parece a los que te muestro a
continuación:

http://forums.asp.net/p/552913/560833.aspx#560833
http://www.codeguru.com/forum/showt...php?t67070


Échale un vistazo y me comentas, por cierto, si colocas el código podríamos
darte una mejor sugerencia o ayuda

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
***************************************************
Technical Solution Architect
http://www.customware.net




"Alfredo" wrote in message
news:
Hola
Estoy haciendo una aplicación para una empresa y, cuando trabajamos con
ella, nos aparece aleatoriamente este error: Gill: la propiedad
SelectCommandConnection no se ha inicializado.

El error nos aparece cuando trabajamos con la aplicación contra un
servidor IIS. Creemos que el problema está en la conexión del servidor IIS
con el SQL Server (tal vez porque no se abre la conexión y la aplicación
intenta recuperar datos de la BBDD antes de que el IIS tenga la conexión
activa con la BBDD).

¿Alguna idea para solucionarlo?

Gracias
Respuesta Responder a este mensaje
#2 Alfredo
24/02/2009 - 07:55 | Informe spam
Efectivamente, ése es el error. La función que da el problema es ésta (a la
que llamamos desde cientos de métodos)

public DataSet GetDataSet(SqlCommand SQLCmd, SqlTransaction transaction)
{
DataSet dataSet = null;
lock (syncRoot)
{
dataSet = new DataSet();
SQLCmd.Connection = SqlConn;
if (transaction != null)
SQLCmd.Transaction = transaction;
SqlDataAdapter sqlDA = new SqlDataAdapter(SQLCmd);
sqlDA.Fill(dataSet);
sqlDA.Dispose();
}
return dataSet;
}

"Angel J. Hernández M." wrote:

Qué tal, Alfredo? Por casualidad tu error se parece a los que te muestro a
continuación:

http://forums.asp.net/p/552913/560833.aspx#560833
http://www.codeguru.com/forum/showt...php?t67070


Échale un vistazo y me comentas, por cierto, si colocas el código podríamos
darte una mejor sugerencia o ayuda

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
***************************************************
Technical Solution Architect
http://www.customware.net




"Alfredo" wrote in message
news:
> Hola
> Estoy haciendo una aplicación para una empresa y, cuando trabajamos con
> ella, nos aparece aleatoriamente este error: Gill: la propiedad
> SelectCommandConnection no se ha inicializado.
>
> El error nos aparece cuando trabajamos con la aplicación contra un
> servidor IIS. Creemos que el problema está en la conexión del servidor IIS
> con el SQL Server (tal vez porque no se abre la conexión y la aplicación
> intenta recuperar datos de la BBDD antes de que el IIS tenga la conexión
> activa con la BBDD).
>
> ¿Alguna idea para solucionarlo?
>
> Gracias

Respuesta Responder a este mensaje
#3 Angel J. Hernández M.
25/02/2009 - 05:39 | Informe spam
Hola Alberto,

Me parece que tienen una instancia única de esta clase que contiene el
método GetDataSet, por ello la sección crítica (lock), cierto?

pregunto, por qué hácerlo así? Cuando puedes tener tu componente de acceso
a datos en vez de tener una sola instancia en la clase
además la sección crítica aplica para syncRoot (me imagino que es un miembro
de la clase) pero no para la conexión
por qué tener una conexión abierta (SqlConn) eso va en contra la filosofía
de ADO.NET (Trabajar desconectado)

Sugerencia?

Cambiar el diseño y organización de tu clase/programa y no tener una sola
conexión

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
***************************************************
Technical Solution Architect
http://www.customware.net


"Alfredo" wrote in message
news:
Efectivamente, ése es el error. La función que da el problema es ésta (a
la
que llamamos desde cientos de métodos)

public DataSet GetDataSet(SqlCommand SQLCmd, SqlTransaction transaction)
{
DataSet dataSet = null;
lock (syncRoot)
{
dataSet = new DataSet();
SQLCmd.Connection = SqlConn;
if (transaction != null)
SQLCmd.Transaction = transaction;
SqlDataAdapter sqlDA = new SqlDataAdapter(SQLCmd);
sqlDA.Fill(dataSet);
sqlDA.Dispose();
}
return dataSet;
}

"Angel J. Hernández M." wrote:

Qué tal, Alfredo? Por casualidad tu error se parece a los que te muestro
a
continuación:

http://forums.asp.net/p/552913/560833.aspx#560833
http://www.codeguru.com/forum/showt...php?t67070


Échale un vistazo y me comentas, por cierto, si colocas el código
podríamos
darte una mejor sugerencia o ayuda

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
***************************************************
Technical Solution Architect
http://www.customware.net




"Alfredo" wrote in message
news:
> Hola
> Estoy haciendo una aplicación para una empresa y, cuando trabajamos
> con
> ella, nos aparece aleatoriamente este error: Gill: la propiedad
> SelectCommandConnection no se ha inicializado.
>
> El error nos aparece cuando trabajamos con la aplicación contra un
> servidor IIS. Creemos que el problema está en la conexión del servidor
> IIS
> con el SQL Server (tal vez porque no se abre la conexión y la
> aplicación
> intenta recuperar datos de la BBDD antes de que el IIS tenga la
> conexión
> activa con la BBDD).
>
> ¿Alguna idea para solucionarlo?
>
> Gracias

Respuesta Responder a este mensaje
#4 Alfredo
25/02/2009 - 07:54 | Informe spam
Efectivamente, sólo hay 1 instancia. Sería más lógico entonces abrir la
conexión cada vez que lancemos una consulta a la bbdd y cerrarla una vez que
la bbdd responda. Creo que esa es la filosofía de ado.net

"Angel J. Hernández M." wrote:

Hola Alberto,

Me parece que tienen una instancia única de esta clase que contiene el
método GetDataSet, por ello la sección crítica (lock), cierto?

pregunto, por qué hácerlo así? Cuando puedes tener tu componente de acceso
a datos en vez de tener una sola instancia en la clase
además la sección crítica aplica para syncRoot (me imagino que es un miembro
de la clase) pero no para la conexión
por qué tener una conexión abierta (SqlConn) eso va en contra la filosofía
de ADO.NET (Trabajar desconectado)

Sugerencia?

Cambiar el diseño y organización de tu clase/programa y no tener una sola
conexión

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
***************************************************
Technical Solution Architect
http://www.customware.net


"Alfredo" wrote in message
news:
> Efectivamente, ése es el error. La función que da el problema es ésta (a
> la
> que llamamos desde cientos de métodos)
>
> public DataSet GetDataSet(SqlCommand SQLCmd, SqlTransaction transaction)
> {
> DataSet dataSet = null;
> lock (syncRoot)
> {
> dataSet = new DataSet();
> SQLCmd.Connection = SqlConn;
> if (transaction != null)
> SQLCmd.Transaction = transaction;
> SqlDataAdapter sqlDA = new SqlDataAdapter(SQLCmd);
> sqlDA.Fill(dataSet);
> sqlDA.Dispose();
> }
> return dataSet;
> }
>
> "Angel J. Hernández M." wrote:
>
>> Qué tal, Alfredo? Por casualidad tu error se parece a los que te muestro
>> a
>> continuación:
>>
>> http://forums.asp.net/p/552913/560833.aspx#560833
>> http://www.codeguru.com/forum/showt...php?t67070
>>
>>
>> Échale un vistazo y me comentas, por cierto, si colocas el código
>> podríamos
>> darte una mejor sugerencia o ayuda
>>
>> Saludos,
>>
>>
>> Angel J. Hernández M
>> MCP,MCAD,MCSD,MCDBA
>> Microsoft MVP
>> http://msmvps.com/blogs/angelhernandez
>> ***************************************************
>> Technical Solution Architect
>> http://www.customware.net
>>
>>
>>
>>
>> "Alfredo" wrote in message
>> news:
>> > Hola
>> > Estoy haciendo una aplicación para una empresa y, cuando trabajamos
>> > con
>> > ella, nos aparece aleatoriamente este error: Gill: la propiedad
>> > SelectCommandConnection no se ha inicializado.
>> >
>> > El error nos aparece cuando trabajamos con la aplicación contra un
>> > servidor IIS. Creemos que el problema está en la conexión del servidor
>> > IIS
>> > con el SQL Server (tal vez porque no se abre la conexión y la
>> > aplicación
>> > intenta recuperar datos de la BBDD antes de que el IIS tenga la
>> > conexión
>> > activa con la BBDD).
>> >
>> > ¿Alguna idea para solucionarlo?
>> >
>> > Gracias
>>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida