jueves, 8 de octubre de 2009

Solución al Error “There is insufficient memory or disk space. Save the document now” o “Memoria Insuficiente. Guarde el documento ahora.”

El otro día tuve la necesidad de Crear Documento de Word dinámicamente desde ASP.NET, y encontré muchos ejemplos en la red, busque un código, lo implemente y cuando lo corrí en mi maquina (Windows Vista, Office 2003 y VS 2008) todo jalo de maravilla, pero llego el momento de publicar el sitio en IIS y en un Servidor, y ahí empezaron los problemas, cuando intentábamos crear el documento nos mandaba un error de que no había suficiente memoria, lo cual obviamente no era el problema ya que el Servidor tenia RAM suficiente y espacio en Disco también, investigando encontré que el problema es con la configuración del componente COM utilizado para generar el documento dinámicamente y aquí les dejo como solucionarlo paso a paso:

Primero ejecutamos el siguiente comando desde la ventana de Ejecutar (RUN), en Windows Vista lo pueden escribir en la opción de Iniciar búsqueda del botón de inicio:

DCOMCNFG

Se nos abrirá la ventana de configuración de Servicios de Componentes. Ya ahí vamos a:

Servicios de Componentes->Equipos->MI PC->Configuración DCOM

Free Image Hosting at www.ImageShack.us

Y Buscamos la entrada que dice: “Documento de Microsoft Word” (si su equipo esta en ingles puede que diga “Word Document”) damos clic derecho sobre esta entrada y después en Propiedades. En la Ventana de Propiedades vamos a la ultima pestaña que dice Identidad, y donde nos pregunta “¿'Que cuenta de Usuario desea utilizar para ejecutar esta aplicación?” seleccionamos “El Usuario Interactivo”, aquí una pantalla de lo mencionado:

Alberto Alvarado Jimeéez

Aceptamos los cambios y cerramos la Ventana de Servicios de Componentes, y eso es todo el error debería de quedar corregido.

Saludos y hasta la próxima.

2 comentarios:

oscar dijo...

Que tal,

Tengo el mismo problema al intentar crear un documento desde un servicio WCF, hize lo que comentas y ahora recibo un error al crear la instancia de Word. Ese error lo resolvi, antes de que ocurriera el error de la memoria insuficiente, al agregar un impersonate al web.cofig pero ahora no ayuda. Alguna idea??

axy108 dijo...

Hola @oscar,

En base a lo que comentas parece que tu error es de permisos del usuario que ejecuta tu WCF, verifica que el usuario tenga los permisos adecuados. Creo que anteriormente te funcionaba el impersonate por esa misma razon, pero como ahora necesitas ejecutar un componente COM+ este usuario necesita privilegios mas avanzados.

Saludos.