JASoft.org

SQL Server: enviar automáticamente los resultados de una consulta por email

SQL Server: enviar automáticamente los resultados de una consulta por email
Hoy tuve que montar un sistema sencillo para poder enviar de manera periódica, en formato CSV, una serie de datos a unos usuarios. Los datos se obtienen a partir de una consulta más o menos compleja a una base de datos SQL Server. Lo que necesitaba era que los resultados de esa consulta, una vez a la semana, se enviaran por email a un usuario para que pudiera abrirlos en una Excel y trabajar con ellos. Para conseguirlo no quería programar ni tampoco crear ningún paquete de integración específico ni hacer nada complicado. Lo único que necesitaba era definir la consulta, el formato y el destinatario. Punto. Mala suerte: en SQL Server no hay nada incluido nativamente que nos permita conseguir algo así de manera tan directa, lo cual no deja de ser una pequeña vergüenza porque realmente es algo habitual y deberían facilitarlo un poco ¿verdad? Así que tuve que improvisar y buscar una manera de conseguirlo sin complicarme demasiado la vida. A continuación os cuento el método que se me ocu... [Más]

Grabar un imagen ISO a un DVD nativamente con Windows 7

Grabar un imagen ISO a un DVD nativamente con Windows 7
La verdad es que hace años que no utiliza una grabadora de CD o DVD. Mi portátil ultra-ligero ni siquiera trae una incorporada, así que tengo una externa USB que utilizo muy de vez en cuando para leer algún CD o DVD que me hacen llegar. El resto del tiempo uso llaves USB, pero desde hace años utilizo Dropbox y por lo tanto prácticamente ni eso. Ayer iba a instalar un Ubuntu en un portátil viejo que tengo que quiero regalar, e intenté hacerlo desde una llave USB con el famoso Universal USB Installer que ellos mismos promocionan. El resultado fue una llave USB estupenda de las rápidas estropeada para siempre. No sé qué demonios hace ese programa pero literalmente me fundió la llave USB. No fui capaz de recuperarla ni con herramientas de bajo nivel ni en Windows ni en Linux. Un fastidio. Así que no me quedó más remedio que grabar un CD con la última versión de Ubuntu pa... [Más]

Mostrar fechas relativas estilo Facebook en nuestras aplicaciones

Mostrar fechas relativas estilo Facebook en nuestras aplicaciones
Este es un truco sencillo pero útil que puede ayudar a hacer más amigables las fechas de cara a los usuarios. Generalmente cuando mostramos una fecha y hora en una de nuestras aplicaciones tendemos a mostrar este dato de la forma habitual, es decir, visualizando la fecha y la hora en el formato que sea apropiado para el idioma y país actuales. Sin embargo para la mayoría de los usuarios esta información no les dice gran cosa y tienen que fijarse y hacer cálculos mentales para hacerse una idea de cuándo es exactamente ese evento, sea en el pasado o en el futuro. En este sentido sería mucho más útil mostrarle al usuario una fecha indicada de un modo más amigable, relativo al momento actual y de forma que resulte más informativa para el usuario medio. Así, en lugar de mostrarles simplemente la fecha, resultaría mucho más útil decirles cosas como "Hace 3 minutos", "Dentro de 2 días" o expresiones similares. Incluso podríamos mostrarle ambas cosas, por ejemplo expresi... [Más]

Mensaje “No se permite guardar los cambios” en SQL Server 2008

Mensaje “No se permite guardar los cambios” en SQL Server 2008
Una vez creada una nueva tabla en una base de datos en SQL Server 2008 o SQL Server 2008 R2, si utilizas en SQL Server Management Studio, cuando intentas modificarla con algún cambio importante (como añadir o quitar un campo, por ejemplo), seguramente te encontrarás con este mensaje de advertencia: Lo que te está indicando es que no se han podido grabar los cambios en la tabla, y que los únicos campos permitidos son los que pueden contener nulos o tienen un valor por defecto (en este caso concreto). Además, la única opción que te da es la de aceptar, por lo que al hacerlo se te muestra otro mensaje de advertencia diciéndote que has cancelado el grabar los cambios (qué simpáticos: no te quedaba más opción que hacerlo): ¿A qué es debido esto?: El motivo es que el SQL Server Management Studio que viene con SQL Server 2008 trae activada una opción por defecto que impide cualquier cambio sobre las tablas que implique el tener que regenerarlas (es decir, que implique eliminar la tab... [Más]

Cómo extraer contenidos desde un archivo .MSI de instalación

Cómo extraer contenidos desde un archivo .MSI de instalación
Hoy uno rápido... Muchas veces tenemos que descargarnos archivos de Windows Installer, con extensión .msi, que contienen las aplicaciones que deseamos instalar. Pero si sabemos que las aplicaciones contenidas en su intereior no necesitan instalación, sino que pueden ser utilizadas directamente ¿para qué vamos a instalar usando el .msi? Es más, a veces Microsoft se empeña en meter en este tipo de archivos de instalación cosas que realmente no necesitan ser instaladas en absoluto. Por ejemplo, archivos de tipo .chm con documentación (me ha ocurrido en diversas ocasiones), o ejecutables escritos en C++ sin ningún tipo de dependencia, o los ejemplos de MSDN Magazine sin ir más lejos. A mi me resulta muy útil poder extraer de dentro del MSI los archivos sin necesidad de instalarlos y sin que quede registrada en el sistema la instalación. Para ello podemos usar el propio Windows Installer desde la línea de comandos. Lo que debemos hacer es abrir la línea de comandos como administradores:... [Más]

Cómo forzar la configuración correcta de ASP.NET en un servidor

Cómo forzar la configuración correcta de ASP.NET en un servidor
Existen una serie de ajustes en aplicaciones Web que deberíamos cuidar especialmente cuando las despleguemos en un servidor en producción. Se trata de características que, de estar mal establecidas en un servidor abierto a cualquiera a través de Internet, pueden suponer un problema de seguridad o mermar el rendimiento de una aplicación. En este artículo vamos a estudiar dos de estos ajustes críticos, lo que suelen hacer mal los programadores con ellos y cómo podemos forzar su correcto uso en servidores de producción. Depuración Cuando estamos desarrollando una aplicación Web con ASP.NET (tanto Web Forms como MVC) establecemos una serie de configuraciones que nos facilitan la depuración de las mismas: mensajes de error detallados, depuración paso a paso, trazas del código, etc… Existe un ajuste en la configuración de la aplicación Web (archivo web.config) que controla de manera global el estado de depuración y, por tanto, todas estas características: <compilation debug=”true... [Más]

Cómo actualizar la BIOS de un eeePC

Cómo actualizar la BIOS de un eeePC
La verdad es que estoy encantado con mi eeePC siempre teniendo en cuenta las limitaciones de este tipo de chismes pequeños que son los Netbooks, y es que valen para cuando estás de viaje pero no esperes tenerlos como sistema principal. Lo malo de los eeePC de Asus (y en general de Asus) es que aunque es una buena marca el soporte y la documentación dejan bastante que desear. La página de soporte siempre está caída o te dice que tiene demasiadas conexiones y generalmente te cuesta muchísimos intentos el poder acceder a ella y descargarte algo. Y una vez lo consigues las indicaciones son mínimas. Por ejemplo, la actualización d ela BIOS que quise hacer hoy mismo por un problema que tengo con la batería (y que, por cierto, no me ha solucionado). Vas a la página de descargas de ASUS, encuentras las actualizaciones de las BIOS, te bajas la última y ¿ahora qué? No hay instrucciones de ningún tipo y en el manual que trae el equipo no aparece nada al respecto (o al menos no lo he visto), así... [Más]

Solución al problema de los reinicios continuos de Windows 7 actualizado desde Vista

Solución al problema de los reinicios continuos de Windows 7 actualizado desde Vista
Si has actualizado tu sistema a Windows 7 desde Windows Vista, es posible que en ciertos escenarios concretos se produzca un problema que fuerce el sistema a estar reiniciándose constantemente. Microsoft no ha dado detalles de en qué condiciones ocurre, aunque serán casos excepcionales. Lo que pasa es que, tras instalar Windows 7 sobre Vista te sale un mensaje que dice "Esta versión de Windows no ha podido ser instalada. Tu anterior versión de Windows se ha restaurado y puedes continuar usándola". Entonces se reinicia el sistema y lo que pasa realmente es que se reinicia la instalación y sale el mismo mensaje, atrapándote en una espiral infernal. Al parecer Vista sí está realmente restaurado en el equipo, pero la base de datos de configuración de arranque del sistema (BCD, Boot Configuration Database) está mal actualizada y por eso sigue intentando restaurarlo. La solución es manual y pasa or hacer lo siguiente: 1.- Introducir el DVD de Windows Vista con el que instalaste el sis... [Más]

Forzar el modo de compatibilidad de IE8 en nuestras aplicaciones

Forzar el modo de compatibilidad de IE8 en nuestras aplicaciones
En el post que escribí hace unos días sobre cómo solucionar el problema de los menús de ASP.NET en IE8, comenté que en un futuro post explicaría cómo forzar desde nuestra aplicación que la gente que acceda a la misma con Internet Explorer 8.0 la vea en modo de compatibilidad con Internet Explorer 7.0. Esto es de especial importancia para nosotros si nuestra aplicación no se visualiza bien según los estándares estrictos de CSS 2.1 pero no tenía problemas con la versión anterior de IE. Dado que, como comentaba en el anterior post, no podemos confiar en que los usuarios vayan a pulsar el botón de compatibilidad si la página se ve mal (simplemente semarcharán o si tenemos mucha suerte intentarán usar Firefox), lo mejor que podemos hacer es forzar de manera transparente para ellos esa compatibilidad. Para ello disponemos de varias técnicas: 1.- Usar una etiqueta META especial en nuestra página Si incluimos la siguiente etiqueta META en la cabecera de nuestra página podremos conseg... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico