Problemas Borrar registro

28/03/2007 - 11:32 por Javier | Informe spam
Hola. Tengo una tabla con un campo image, donde guardo un array de bytes (el
contenido de un fichero visio). La BD es sqlserver 2005. El problema es que
cuando intento borrar un registro me da problemas de tiempo de espera y salta
una excepción. Solo ocurre en esta tabla que tiene el campo imagen, en las
demás borro bien. Por eso me extraña mucho lo que me está pasando. Estoy
programando en .net c#. ¿sabéis si tengo que activar algún tipo de permiso en
sqlserver? Gracias y un saludo.

string strCadenaSelect = "delete FROM Esquemas where ID_ESQUEMA = "+
PrmIntID_ESQUEMA ;
string strCadenaConexion = "micadenaconexion";

SqlConnection cnn = null;
SqlCommand cmd = null;
try
{
cnn = new SqlConnection(strCadenaConexion);
cmd = new SqlCommand(strCadenaSelect, cnn);
cmd.CommandType = CommandType.Text;

cnn.Open();
cmd.ExecuteScalar();
cnn.Close ();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
 

Leer las respuestas

#1 Jose Mariano Alvarez
28/03/2007 - 14:11 | Informe spam
In article ,
says...
Hola. Tengo una tabla con un campo image, donde guardo un array de bytes (el
contenido de un fichero visio). La BD es sqlserver 2005. El problema es que
cuando intento borrar un registro me da problemas de tiempo de espera y salta
una excepción. Solo ocurre en esta tabla que tiene el campo imagen, en las
demás borro bien. Por eso me extraña mucho lo que me está pasando. Estoy
programando en .net c#. ¿sabéis si tengo que activar algún tipo de permiso en
sqlserver? Gracias y un saludo.

string strCadenaSelect = "delete FROM Esquemas where ID_ESQUEMA = "+
PrmIntID_ESQUEMA ;
string strCadenaConexion = "micadenaconexion";

SqlConnection cnn = null;
SqlCommand cmd = null;
try
{
cnn = new SqlConnection(strCadenaConexion);
cmd = new SqlCommand(strCadenaSelect, cnn);
cmd.CommandType = CommandType.Text;

cnn.Open();
cmd.ExecuteScalar();
cnn.Close ();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}






El tipo de dato adecuado en 2005 deberia ser varbinary(max).
Sin embargo no creo que el motivo sea el image sino algun otro bloqueo.
Sugiero que aumentes el timeout de ADO.NET hasta que encuentres el
motivo por el cual esta tardando.
Si tienes integridad referencial sugiero que revises en el management
studio el plan de ejecucion del delete.



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el
problema también ayuda.

Preguntas similares