JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

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

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]

Cómo mapear tu cuenta de SkyDrive a una unidad en Windows

SkyDrive es el servicio de almacenamiento en la nube de Microsoft. Te permite almacenar hasta 25 GB de archivos de cualquier tipo, organizados por carpetas, y todo de manera gratuita. Si además tienes un Windows Phone, tu vida móvil pasa por SkyDrive ya que el teléfono está completamente imbricado con este servicio para subir fotos, guardar notas y documentos de Office, etc... Cualquier cuenta de LiveID lleva asociada una cuenta de SkyDrive:   Microsoft ofrece Live Mesh, un programa gratuito que permite sincronizar archivos entre varios ordenadores y con SkyDrive, de modo que siempre tengamos ciertas carpetas disponibles en cualquier lado. La sincronización entre diferentes ordenadores permite gestionar una cantidad ilimitada de archivos y cualquier cantidad de información, ya que no pasa por el servicio on-line. Pero si queremos mantenerlo sincronizado en la nube y acceder a estos archivos desde cualquier navegador, tenemos un l&iacu... [Más]

TRUCO: Cómo des-ofuscar código JavaScript de manera rápida

Este es un truco muy tonto pero que no todo el mundo conoce. Una vez que lo descubres se convierte en algo que usarás todos los días... Muchas veces visitamos una página Web que ofrece algún efecto interesante o cualquier otra característica y nos gustaría saber cómo funciona. En otras ocasiones tenemos que depurar el código de otros programadores o usar bibliotecas JavaScript que tienen bugs pero están ofuscadas y no podemos ver su contenido con claridad. La mayor parte de las veces no se trata de que el creador original del código quiera evitar que lo veamos. Lo que intentan es disminuir al máximo el tamaño del archivo para que se descargue más rápido y consume menos ancho de banda (lo que se conoce como Minimizar o, en inglés y más común, “Minify” un código fuente). Por si te encuentras ante un caso de estos, en el siguiente vídeo te dejo en un minuto un par de trucos rápidos para ver el código JavaScript con un formato legible y útil a la hora de depurar.
¡Esp... [Más]

Mi aplicación Web tarda muchísimo en arrancar: ¿Usas ensamblados firmados quizá?

Este es uno de esos problemas raros que, si nadie te lo cuenta, es dificilísimo que llegues a solucionar por tu cuenta. Y si lo haces vas a estar días rompiéndote la cabeza antes de descubrir qué pasa... Seguramente conocerás (o te sonará al menos) la tecnología Authenticode de Microsoft. Se trata de una forma de firma digital que nos permite verificar el origen de un código ejecutable (EXE o DLL), un documento o cualquier otro tipo de archivo. El uso de una firma Authenticode permite verificar el desarrollador de una aplicación, de modo que puedas estar seguro de que aquel programa que te bajaste de Internet es una copia legítima generada por su creador, y no una versión modificada  que contenga algún troyano u otros virus. Es decir, no prueba que el ejecutable sea inofensivo, sino que prueba que al menos lo ha creado alguien concreto. ahora ya es cosa tuya si confías o no en ese determinado fabricante. Así, al ejecutar un programa que te has descargado de Internet y que está ... [Más]

Cómo recuperar correos borrados definitivamente de Outlook

En este artículo vamos a ver la manera que tenemos de recuperar correos borrados desde un archivo .pst de Outlook. Para ello, y de manera anti-intuitiva, lo primero que hay que hacer es corromper el archivo original. Un poco solamente: ni tanto que lo hagamos inservible ni tan poco que no sirva para nuestro propósito. Te lo explico a continuación... [Más]

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

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

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

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]