Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

sábado, 31 de enero de 2009

Aprovechar el “DataBase Mirroring” en nuestra aplicación

Existe algo llamado Mirroring en SQL SERVER por medio del cual podemos tener una copia exacta de una Base de datos en otra instancia de SQL o en otro servidor para ser utilizado en caso de que el servidor principal falle.

Si queremos que el servidor secundario entre en operación inmediatamente el principal caiga debemos utilizar u tercer servidor o instancia llamada "witness" o testigo que es quien se encargara de estar pendiente revisando para que cuando ocurra el fallo el otro server entre en acción.

Entonces.. si tenemos todo configurado en la parte de SQL SERVER ¿Cómo podemos utilizarlo en nuestro sistema?.. sencillo

Esta es un connection string normal de un Web config

<connectionStrings>
        <add name="[NOMBRE]" connectionString="Data Source=[SERVIDOR];Initial Catalog=[BASE DE DATOS];User ID=[USUARIO]; password=[PASSWORD]" providerName="System.Data.SqlClient"/>
</connectionStrings>

Y esta es una linea de un connection string que se conectara a un servidor secundario en caso de que el primero falle:

<connectionStrings>
        <add name="[NOMBRE]" connectionString="Data Source=[SERVIDOR];Failover Partnet=[SERVIDOR 2]; Initial Catalog=[BASE DE DATOS];User ID=[USUARIO]; password=[PASSWORD]" providerName="System.Data.SqlClient"/>
</connectionStrings>

Ahi estamos diciendo que cuando el primer servidor no se conecte intenta con el Segundo.

Cheers! :D


 


 

miércoles, 28 de enero de 2009

Cuando un índice no se quiere borrar [Sql Server]

Si recibimos el siguiente error tratando de eliminar un índice:

An explicit DROP INDEX is not allowed on index [index name]. It is being used for UNIQUE KEY constraint enforcement

Esto es porque lo estamos haciendo de la manera normal

DROP INDEX [index name]

Para solucionar esto utiliza el siguiente código:

ALTER
TABLE
[table name]
DROP
CONSTRAINT
[index name]

martes, 20 de enero de 2009

Msgbox en Asp.net

Este código para desplegar un message box (ventanita con mensaje) en .net lo envía nuestro compañero Oscar Pena.

Espero les sea de utilidad en sus proyectos

:

string strMessage = "Esta Tarjeta es Invalida";

StringBuilder sb = new StringBuilder("");

sb.Append("<script language='javascript'>");

sb.AppendFormat("alert(\"{0}\");", strMessage);

sb.Append("</script>");

Page.RegisterClientScriptBlock("AlertScript", sb.ToString());

viernes, 2 de enero de 2009

DropDownList en un gridview

Buen día programadores, en mi primer post del año 2009 les traigo algo bastante interesante muchas veces necesitado por nosotros y es el poner un DropDownList dentro de un gridView, ya había visto esto "tirando mucho código" pero que tal si les digo que pueden hacerlo sin "tirar" ni una sola línea de código?

Imaginen que tenemos una tabla en nuestra B.D. pero algunos de esos campos son los pk. de otras tablas a la cual la nuestra está relacionada. El ejemplo que les traigo es con una tabla de materias. Mi tabla de materias está relacionada a los cursos y a los profesores. Si cargamos la tabla directamente de la B.D. en el grid luciría así:



















El problema es que esto no es muy presentable para un cliente, el cliente preferiría que se viera así:


















Muchísimo mejor, no?

Entonces.. Cómo hacemos esto?

  • Lo primero que debemos hacer es hacer clic en la flecha de la esquina superior derecha del grid
  • Vas a Edit Columns
  • Seleccionas la columna que quieres cambiar
  • Haces click en "Convert to Template Field"
  • Sales de la pantallita de Fields del GridView
  • Vuelves a darle a la flechita de la esquina superior
  • Y esta vez haces clic en "Edit Templates"
  • En esa nueva flechita en la parte superior clickeas y seleccionas el campo con el que vas a trabajar
  • Entonces en la parte de ItemTemplate y de EditItemTemplate colocas un DropDownList
  • Ese DDL lo cargas con un objectDataSource que apunte a la tabla de "Profesores" o "Curso " en el caso del ejemplo
  • Y en la parte de EditDataBinding del componente seleccionas el campo de la tabla de Materias con el que se va a cargar, en mi caso "id_curso" y "id_profesor"


    Eso es todo, así el cliente entenderá más la pantalla y de seguro le gustara mucho más.

    Cheers!!