Windows Live Messenger no funciona en Vista o Windows 7
Por Pablo Viale - Windows - 14 Agosto 2010
Si te encuentras con el problema de que tienes Windows Vista o Windows 7 e instalas Windows Live Messenger, y al intentar conectarte los monitos se quedan dando vueltas eternamente y nunca logras establecer conexión, intenta este truco.
Haz clic en el botón de inicio y teclea “cmd”, y cuando salga el icono, dale clic con el botón derecho y selecciona “Ejecutar como administrador”:
Cuando aparezca la ventana negra, teclea lo siguiente:
netsh int tcp set global autotuninglevel=disabled
Y listo, ya con eso queda arreglado tu Windows Live Messenger.
El botón LIKE de Facebook no se ve en Internet Explorer
Por Pablo Viale - Varios - 20 Julio 2010
Si estás tratando de integrar el botón LIKE de Facebook en tu sitio web y lo ves en todos los navegadores excepto en Internet Explorer, añade este atributo al tag HTML:
-
xmlns:fb="http://www.facebook.com/2008/fbml"
De tal forma que tu tag HTML al final deberá verse así:
-
<html xmlns:fb="http://www.facebook.com/2008/fbml">
Listo, con eso arreglas el problema.
Cómo instalar PHP en Windows 2003 con IIS 6
Por Pablo Viale - IIS, Windows - 16 Julio 2010
Generalmente es un dolor de cabeza instalar PHP en Windows, es por eso que hice esta guía que explica como hacer una instalación básica de PHP. Si necesitas algo más especializado como instalar extensiones utiliza Google para encontrar otros tutoriales.
1. Descarga los archivos correctos
Ingresa a http://php.net/downloads.php y descarga el “zip package”. No sigas la liga que dice windows.php.net:
Cópialos en tu servidor en “C:\PHP”. Apégate a esta ruta, no intentes rutas extrañas que tengan espacios o que sean muy largas.
2. Configura PHP.INI
En los archivos que acabas de descomprimir encontrarás un archivo llamado “php.ini-recommended” o algo similar, renómbralo a “php.ini”, y con un editor de texto plano encuentra la línea:
; cgi.force_redirect = 1
Y cámbiala por:
cgi.force_redirect = 0
3. Copia los archivos necesarios al directorio de Windows
Copia los siguientes archivos:
- php5isapi.dll
- php.ini
a la carpeta “C:\WINDOWS\system32”
O bien, agrega la ruta “c:\php” a la variable de entorno PATH del servidor.
4. Configura IIS
En la consola de IIS abre “Web service extensions” y agrega una nueva:
Pon “PHP” en “Extension name” y selecciona el archivo “c:\php\php5isapi.dll”. Marca la casilla que dice “Set extension status to Allowed”.
Al final debe verse así en la lista de extensiones:
Todavía en la consola de IIS, selecciona el sitio web o el directorio virtual al que quieras dar permisos de ejecutar PHP y abre sus propiedades. Ve a la pestaña “Home Directory” y haz clic en el botón “Configuration”:
En la nueva ventana, abre la pestaña “Mappings” y agrega una extensión ISAPI con el archivo “C:\php\php5isapi.dll” y los verbos “GET,POST,HEAD”:
Haz clic en todos los botones “OK” hasta salir.
5. Configura los permisos
Ahora fíjate en qué “Application pool” está corriendo tu sitio web o directorio virtual.
Y en la consola de IIS, arriba de “Web Sites” encontrarás los “Application pools”, abre las propiedades de la “pool” en la que corre tu sitio web y en su pestaña “Identity” fíjate qué usuario se utiliza:
Ahora tienes que darle permisos a este usuario sobre el directorio “c:\php”.
Abre el explorador de Windows y señala el directorio “php” dentro de “c:\”, y ve a sus propiedades, luego a la pestaña “Security”, haz clic en “Add” y agrega al usuario que encontraste arriba. Luego oprime el botón “Advanced” y asegúrate de que esté marcada la casilla que dice “Replace permission entries on all child objects with entries shown here that apply to child objects”:
Oprime “OK” hasta cerrar todo.
6. Haz pruebas
Crea un archivo llamado, por ejemplo, “phpinfo.php” y agrega esta línea de código:
Ahora abre esa página en un navegador, si ves esto:
es que lo lograste.
Si no,
, intenta buscar los errores que te aparezcan en Google.
Cómo asignar un mismo procedimiento a múltiples botones
Por Pablo Viale - ASP.NET 2.0 / 3.5 - 5 Julio 2010
Supongamos que por alguna razón quieres colocar dos botones en una página ASP.NET que ejecuten el mismo procedimiento. Por ejemplo, un largo formulario con dos botones para guardar los cambios.
Solamente tienes que escribir el código para uno de los botones, como normalmente lo harías.
Y para el segundo, establece el evento "OnClick" al procedimiento del primer botón.
Aquí está un ejemplo con los dos botones:
-
<asp:Button ID="Guardar" runat="server" Text="Guardar cambios" />
-
<asp:Button ID="Guardar2" runat="server" Text="Guardar cambios" OnClick="Guardar_Click" />
¡Suerte!
Como enviar ctrl-alt-del usando Remote Desktop Connection
Por Pablo Viale - Windows - 5 Julio 2010
Si estás en tu PC con Windows, y te conectas a algún servidor (u otra computadora) utilizando Remote Desktop Connection (Conexión a Escritorio Remoto), notarás que no puedes enviar una señal de ctrl-alt-del a la computadora remota porque esta combinación de teclas toma precedencia en tu propio equipo.
Lo que tienes que hacer es sencillo, oprime esta combinación de teclas:
ctrl-alt-end
¡Y listo!
Internet Explorer deja un espacio entre imágenes
Por Pablo Viale - ASP.NET 2.0 / 3.5 - 5 Julio 2010
A veces ASP.NET deja pequeños espacios de uno o dos pixeles entre una imagen y otra, como si se tratara de un “padding-bottom”. He encontrado que estos espacios en ocasiones se deben a saltos de línea (aunque suene ridículo) que se dejan en el código fuente.
Ejemplo:
-
<tr>
-
<td>
-
<asp:Image Id="Imagen1" runat="server">
-
</td>
-
</tr>
-
<tr>
-
<td>
-
<asp:Image Id="Imagen2" runat="server">
-
</td>
-
</tr>
Si lo anterior deja un espacio entre la imagen 1 y la imagen 2, intenta esto:
-
<tr><td><asp:Image Id="Imagen1" runat="server"></td></tr>
-
<tr><td><asp:Image Id="Imagen2" runat="server"></td></tr>
Claro que no debería ser, pero al parecer es algún bug de Internet Explorer.
Ahora bien, si lo que quieres es una solución más confiable, utiliza el siguiente estilo en tu hoja de estilos:
-
img { display: block; }
Como por arte de magia, el problema desaparece sin tener que estar eliminando saltos de línea en nuestro código.
Tip obtenido de mattPealing.
Cómo darle formato a una fecha en SQL Server
Por Pablo Viale - SQL Server - 15 Junio 2010
Para desplegar una fecha mostrando el formato utilizado en Latinoamérica, utiliza la siguiente instrucción:
-
SELECT CONVERT(VARCHAR(10), TuTabla.Fecha, 103) FROM TuTabla
La fecha será desplegada en el formato dd/mm/aaaa, por ejemplo 15/06/2010 para el 15 de junio de 2010.
Puedes encontrar la lista completa de los formatos en esta página.
Exclusive access could not be obtained because the database is in use
Por Pablo Viale - ASP.NET 2.0 / 3.5, SQL Server - 14 Junio 2010
Intentas restaurar una base de datos desde un backup utilizando Microsoft SQL Server Management Studio y te aparece el siguiente error:
Restore failed for Server 'TuServidor'. (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use. (Microsoft.SqlServer.Smo)
Lo que ocurre es que la base de datos está abierta por otro proceso y debes cerrar todas las conexiones. Para hacerlo, abre una ventana de Query y coloca lo siguiente:
-
USE master
-
go
-
ALTER DATABASE nombre_de_tu_base_de_datos SET single_user WITH rollback immediate
-
ALTER DATABASE nombre_de_tu_base_de_datos SET multi_user
Este script fue tomado de un excelente post escrito por Sergio Tarrillo, en el cual puedes encontrar soluciones adicionales para este problema.
Table ‘prueba’ is marked as crashed and should be repaired
Por Pablo Viale - SQL (mySQL) - 7 Junio 2010
En ocasiones se te puede presentar el siguiente error en una tabla de una base de datos de MySQL:
Table 'prueba' is marked as crashed and should be repaired
Para repararlo, abre un command prompt de Windows y cámbiate al directorio donde tienes instalado MySQL, y luego al directorio "bin". Es en este directorio donde están todos los comandos de MySQL.
cd "C:\Program Files\MySQL\bin\"
Después ejecuta el comando "myisamchk" sobre la tabla que se dañó:
bin>myisamchk "bdprueba\prueba.myi"
Checking MyISAM file: bdprueba\prueba.myi
Data records: 34548 Deleted blocks: 0
myisamchk: warning: Table is marked as crashed and last repair failed
myisamchk: warning: 1 client is using or hasn't closed the table properly
- check file-size
myisamchk: error: Size of datafile is: 8936628 Should be: 8936696
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links
myisamchk: error: got error: 120 when reading datafile at record: 34548
MyISAM-table 'bdprueba\prueba.myi' is corrupted
Fix it using switch "-r" or "-o"
Como puedes ver, nos está marcando un error, ahora para repararlo utiliza "-r":
bin>myisamchk "bdprueba\prueba.myi" -r
- recovering (with sort) MyISAM-table 'bdprueba\prueba.myi'
Data records: 34548
- Fixing index 1
Found link that points at 8936628 (outside data file) at 8924612
Found block that points outside data file at 8924740
Data records: 34576
Y si corres nuevamente el primer comando, verás como ya no te aparece el error:
bin>myisamchk "bdprueba\prueba.myi"
Checking MyISAM file: bdprueba\prueba.myi
Data records: 34576 Deleted blocks: 0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links