Foros del Web » Programación para mayores de 30 ;) » .NET »

Guardar archivo Word en SqlServer Compact Edition

Estas en el tema de Guardar archivo Word en SqlServer Compact Edition en el foro de .NET en Foros del Web. Hola a todos. He desarrollado una aplicación que trabaja con Sql Server Express, a la que le podía agregar documentos (Word, Excel, Powerpoint, PDF) a ...
  #1 (permalink)  
Antiguo 20/11/2007, 15:44
Avatar de JonhyReyes  
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 2 meses
Puntos: 1
Pregunta Guardar archivo Word en SqlServer Compact Edition

Hola a todos.

He desarrollado una aplicación que trabaja con Sql Server Express, a la que le podía agregar documentos (Word, Excel, Powerpoint, PDF) a una tabla y no me daba ningún problema.

Ahora estoy desarrollando una versión portatil de esta aplicación para usuarios que llevan consigo laptops. Estoy usando Sql Server Compact Edition y acabo de migrar la base de datos, todo funciona bien, pero la sección en la que se añaden los documentos me da un error al intentar guardar en la base de datos:
"Byte array truncation to a length of 8000" .

Como puedo hacer para guardar el archivo en la base de datos??

De antemano gracias

Nota: Quiero dejar como última instancia el guardar la ruta del archivo
  #2 (permalink)  
Antiguo 20/11/2007, 16:40
 
Fecha de Ingreso: enero-2004
Ubicación: Ciudad de México
Mensajes: 476
Antigüedad: 20 años, 3 meses
Puntos: 14
Re: Guardar archivo Word en SqlServer Compact Edition

A decir por el error, deduzco que estas utilizando el tipo de datos Binary o VarBinary, el cual su longitud maxima es precisamente de 8000 bytes.

La forma en como yo lo hago, y te recomiendo hacerlo, es que guardes los archivos en forma de arreglo de bytes, codificados en Base64, en un campo de tipo Text, y de ser posible, previamente comprimas el Stream de datos con algun algoritmo (como LZMA), antes de insertarlo en la base de datos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:54.