domingo, 28 de noviembre de 2010

Redes Domésticas

A grandes rasgos esta presentación resume todos los temas que hay que tener en cuenta para configurar una red en casa. Esta alojado en issuu.com y es recomendable verlo a pántalla completa.
Licencia de Creative Commons
Manual Redes Domésticas by Dunbit (Javier Roig) is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

sábado, 27 de noviembre de 2010

issuu, almacén web de publicaciones

Ha llegado a mis manos como una herramienta gratuita altamente recomendable para publicar recursos online.

El primer vistazo es muy bueno, ya que te permite publicar todo tipo de documentos, establecerlos como públicos o privados, catalogarlos, etc..., con una presentación interesante y atractiva.

Es un estilo de SlideShare, con presentaciones a página completa o solo al tamaño predeterminado. También permite integrar una presentación en una página que ya tengas creada.

Para acceder tienes que abrirte una cuenta o utilizar tu perfil de facebook, solicitando como siempre los datos básicos

lunes, 11 de octubre de 2010

Poner la misma música a todas las diapositivas de un PowerPoint

El proceso es el mismo que insertar una canción para que se reproduzca en una diapositiva, solo que después, personalizamos el comportamiento de esta canción para que suene en todas las diapositivas

Lo primero es insertar en la primera diapositiva un objeto de sonido. Este objeto está en la solapa Insertar. Nos pedirá que indiquemos el archivo de sonido que queremos utilizar.

Una vez insertado el objeto de sonido, tenemos que ir a la solapa Herramientas de Sonido (esta solapa no aparecerá si el objeto de sonido, con forma de altavoz, no está seleccionado)

En esta solapa, herramientas de sonido, tenemos la sección Opciones de sonido, donde esta un desplegable con varias opciones: automáticamente, Hacer clic encima y Reproducir en todas las diapositivas. Esta última opción es la que tenemos que seleccionar.

A partir de este momento, cuando pongamos en modo presentación, empezara a sonar la canción seleccionada hasta que se finalice la presentación (si tenemos activa la casilla del mismo apartado, Repetir la reproducción hasta su interrupción)

No he encontrado esta opción para PowerPoint 2003, pero esta la misma tanto en la versión PowerPoint 2007 como en la PowerPoint 2010

miércoles, 1 de septiembre de 2010

Evitar redondeo automático en SQL

Últimamente he tenido un problema con el redondeo utilizando el operador división (/) en una consulta de SQL, para el origen de datos de un informe en un proyecto Microsoft Access Project (.adp)

El problema es que al dividir dos enteros me trunca de forma automática el resultado. La explicación al problema esta en http://technet.microsoft.com/en-us/library/ms175009.aspx. Básicamente es que cuando el divisor y el dividendo son enteros el resultado lo convierte a entero.

La solución es sencilla, convertir uno de los dos operando a float o a real con CAST para que el operador “/” no convierta el resultado a entero. La conversión  hay que hacerla de uno de los operandos y no del resultado, ya que la división ya lo devuelve truncado y aunque lo conviertas no va a haber cambios

Información sobre CAST en http://technet.microsoft.com/en-us/library/aa226054(SQL.80).aspx

Por ejemplo. Si tenemos una tabla tbventas con una columna impVenta  y otra nArtículos de tipo entero si queremos que nos devuelva los decimales tendría que ser así:
Select CAST(impVenta as float)/cArticulos as valorMedio
from tbventas

viernes, 18 de junio de 2010

Problema con los nulos en campos image de SQL con ASP.NET

Voy a explicar primero en que escenario me estoy moviendo y los pasos que he dado para solucionar los problemas para almacenar un valor nulo en un campo del tipo image en una base de datos SQL.

En la base de datos SQL tengo una tabla con un campo del tipo image que admite nulos.
En esta misma base de datos creo un procedimiento almacenado para insertar y actualizar la tabla

Desde .NET creo un Data Set con tipo donde creo un DataTable con los campos de la tabla de SQL y le asigno a cada campo su tipo de datos. En el caso del campo Imagen le asigno el tipo de datos de .Net System.byte(). Utilizo este DataTable para cargar la información de campos de varias tablas de la base de datos SQL.

A la hora de llamar al procedimiento almacenado desde .NET le indico los parámetros en un objeto sqlCommand y lo ejecuto como ExecuteNonQuery.


A primera vista todos los pasos funcionan correctamente y no tengo ningún error de compilación.

Primer error que me sucede al intentar guardar un valor nulo en el campo imagen


Por el punto donde da el error es en la clase que genera automáticamente a partir del DataSet. Esta dando en la columna imagen en el DataTable que he creado. Se produce porque al crear el campo Imagen he dejado indicado en las propiedades que genere una excepción si se encuentra con nulos.

Veo dos opciones para evitar este error

  • La primera es modificar la propiedad NullValue del campo Image para que en vez de generar una excepción cuando contienen nulos, que no haga nada (es una opción del desplegable de ese campo)

  • La segunda es modificar el código donde añado el parámetro @Imagen. En vez de utilizar un IIF abreviado donde se evalúan las dos partes (y ahí salta el error), utilizar un If por separado, de tal manera que si la imagen es nulo, no se llegue a evaluar.
Parece que todo va bien, pero cuando volvemos a ejecutar nos encontramos con otro error.
En este caso se genera el error cuando se ejecuta el command del procedimiento almacenado. Lo primero que llama la atención es que en el error habla del tipo de datos nvarchar, que no hemos utilizado en ningún momento.
Si ponemos un punto de ruptura y miramos el parámetro imagen que enviamos al procedimiento almacenado nos encontramos con la sorpresa que el tipo de datos que estamos enviando es un nVarchar (propiedad sqlDbType).

Esto pasa porque al añadir el parámetro al command no le indicamos ningún tipo de datos, sino que solo pasamos el nombre del parámetro y el valor

La solución viene por indicar en el parámetro del command que el tipo de datos sql es un Image

Por lo que si volvemos a repetir la ejecución podemos comprobar en la inspección del parámetro @imagen del command que ha desaparecido el tipo nvarchar por el image y funciona todo correctamente


miércoles, 9 de junio de 2010

Algunos adjuntos no llegan cuando se envían desde Exchange 2007

He estado una temporada con un problema de los que se podía catalogar de "fantasma". Al enviar un correo con un adjunto desde MS Outlook a través de un servidor Exchange Server,  a determinadas direcciones de correo que utilizaban directamente Outlook express, pasaba que se recibía el correo pero no el adjunto. En cambio, si enviabas el mismo adjunto pero desde una dirección de hotmail, gmail, etc, llegaba sin problemas tanto el correo como el adjunto.

Después de revisar tema de virus tanto en los equipos que enviaban el correo, como en los que supuestamente lo recibían y de verificar que el antivirus del ISP no lo cortaba, estaba igual que al principio.
Me pasaba en cuentas de correo que estaban dadas de alta en Exchage como Contactos.

El recorrido del correo era desde el cliente Outlook --> Servidor Exchange Interno --> Redirección al ISP--> Outlook Express.

Al final hablando con el servicio técnico del ISP (donde está alojado el dominio de correo) y analizando las cabeceras de los correos vimos que además del adjunto, Exchange añadía un archivo Winmail.dat al correo y que el cliente no lo sabía interpretar y por eso no mostraba los adjuntos.

Este archivo, Winmail.dat se añade por defecto si el cliente final no puede recibir correos con texto enriquecido (RTF), pero puede que como en mi caso el cliente lo vea como un archivo binario y fastidie el correo

La solución vino a través de un artículo de Microsoft Cómo impedir que se envíe el archivo Winmail.dat a otros usuarios en Internet donde se explica los motivos por los que se puede añadir este correo y los pasos para evitarlo.

En mi caso, al utilizar Exchange 2007 server había alguna pequeña diferencia con respecto a lo que se indica en el artículo, pero la esencia era la misma
  • Desde la consola de administración de Exchange
  • En configuración de destinatarios
  • Contactos de correo
  • En la ventana de propiedades
  • Indicar "Nunca" en el desplegable de "Enviar formato de texto enriquecido MAPI"