Instalar DB Desde Nuestra App Web Parte I

Buenos días a todos.

Algo que me parece como tanto para los desarrolladores como para las DBA´s, bueno realmente creería eso, es que cuando entregamos nuestro release final al cliente, para que primero lo instalen en pruebas es entregarles un instalador o los binarios, con la primera opción se configura el instalador para que la persona que lo instale no haga muchas labores y sea un proceso simple. Con la segunda opción, bueno habría que tocar los binarios para configurar la cadena de conexión a la DB y demás cosas, algo que parece fácil pero que en ultimas no seria amigable o profesional si queremos entregar un producto de calidad en todos los aspectos.

Este post es para solventar un poco la opción dos. así que vamos a crear un formulario donde podemos configurar la cadena de conexión fácilmente.

En esta primera entrega solo vamos a conectarnos a nuestro Sql Server y ver que responde para posteriormente instalar la DB en nuestro siguiente post de este tema.

Lo primero es crear un formulario como el siguiente.

image

image

En funcionamiento se comporta así.

image

image

También funciona con autenticación sql

image

Ahora si el código.

   1: protected void buttonTestConn_Click(object sender, EventArgs e)

   2:         {

   3:             string connectionStringErrorMensaje = TestSqlClientConnectionString(ConnectionStringForMasterDatabase);

   4:  

   5:             if (connectionStringErrorMensaje == string.Empty)

   6:             {

   7:                 lblMensaje.Text = "Test de conexión fue exitosa. Proceda.........";

   8:                 

   9:                 

  10:             }

  11:             else

  12:             {

  13:                 lblMensaje.Text = connectionStringErrorMensaje;

  14:                 

  15:             }

  16:         }

   1: public static string TestSqlClientConnectionString(string sqlClientConnectionString)

   2:         {

   3:             try

   4:             {

   5:                 using (SqlConnection conn = new SqlConnection(sqlClientConnectionString))

   6:                 {

   7:                     conn.Open();

   8:                     conn.Close();

   9:                     return string.Empty;

  10:                 }

  11:             }

  12:             catch (Exception e)

  13:             {

  14:                 return e.Message;

  15:             }

  16:         }

   1: string ConnectionStringForMasterDatabase

   2:         {

   3:             get

   4:             {

   5:                 if (chkAutenticacion.Checked)

   6:                     return BuildSqlClientConnectionString(txtServidorNombre.Text);

   7:                 else

   8:                     return BuildSqlClientConnectionString(txtServidorNombre.Text, "", false, txtUsuario.Text, txtPassword.Text);

   9:             }

  10:         }

   1: string BuildSqlClientConnectionString(string dataSource, string database = "", bool integridadWindows = true, string userName = "", string password = "")

   2:         {

   3:             // Especificar el nombre de servidor y la db

   4:             string serverName = dataSource;

   5:             string databaseName = database;

   6:  

   7:             // Inicializar el SqlConnectionStringBuilder

   8:             SqlConnectionStringBuilder sqlBuilder =

   9:                 new SqlConnectionStringBuilder();

  10:  

  11:             // Establecer las propiedades para el data source.

  12:             sqlBuilder.DataSource = serverName;

  13:             sqlBuilder.InitialCatalog = databaseName;

  14:  

  15:             if (integridadWindows)

  16:                 sqlBuilder.IntegratedSecurity = true;

  17:             else

  18:             {

  19:                 sqlBuilder.UserID = userName;

  20:                 sqlBuilder.Password = password;

  21:             }

  22:  

  23:             // Contruir el SqlConnection 

  24:             string providerString = sqlBuilder.ToString();

  25:  

  26:             return providerString;

  27:  

  28:         }

 

Bueno eso es todo por ahora. Espero les haya agradado. Para el siguiente post usaremos EF.

Saludos.

Romny

HowTo: identificar la versión y la edición de SQL Server

Hola a todos. Regreso a este blog después de unas minivacas ”una semana” para seguir aportando a la comunidad.

Este post es pequeño truco para identificar la versión y la edición de Sql Server que tengas instalados en vuestras maquinas.

Si eres como yo “olvidadizo” en lo referente a los productos de Sql Server que instalamos y tienes una imagen como la siguiente, donde solo ves la versión del producto.

image

Si realmente necesitas saber mas datos para hacer pruebas con determinados software por que dan scripts para diferentes versiones de Sql Server. Te recomiendo este script.

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

Se devuelve el siguiente resultado:

  • La versión del producto (por ejemplo, 10.0.1600.22).
  • El nivel del producto (por ejemplo, RTM).
  • La edición (por ejemplo, Enterprise).

Esta son los que tengo instalados actualmente.

image

image

Así que ya saben. Ahora si quieren la lista completa de versiones. consulta este link. http://support.microsoft.com/kb/321185/es

Bueno espero, les haya servido este pequeño tip.

Saludos.

Romny

Microsoft Windows Azure

Hola a todos.

Seguimos hablando de Cloud Computing “Computación en la Nube”, pero en este caso hablaremos sobre Microsoft Windows Azure la apuesta de Microsoft para el tema. No sin antes recordarles la serie de post sobre los concepto básicos de Cloud Computing “Computación en la Nube”.

Que es Microsoft Windows Azure?

Windows Azure es la plataforma de computo en la nube de Microsoft , Windows Azure es una nube publica del tipo (PaaS) Plataforma como servicio, Windows Azure proporciona el hardware y software para hospedar datos y aplicaciones donde se conocen como servicios. El servicio puede ser un sitio web o un servicio que se encargue del procesamiento de datos. Windows Azure replica 3 veces las aplicaciones y los datos como método de protección de una falla y esto se hace de forma transparente para el usuario. En Windows Azure se paga por lo que se consume “Pay as you go”.

Centros de Datos de Windows Azure

Windows Azure proporciona un entorno de hospedaje a escala de Internet basado en centros de datos distribuidos geográficamente. Cada centro de datos proporciona el hardware, las redes y en general la infraestructura de hospedaje de las aplicaciones y los datos. Cada servidor del centro de datos esta corriendo una versión de Windows Server Hyper-V modificada especialmente para Windows Azure. Hyper-V proporciona la capacidad de ejecutar varios sistemas operativos de manera simultanea en el mismo servidor. Hyper-V obtiene los recursos del hardware actual para proporcionarlos a las maquinas virtuales. Windows Azure garantiza que los datos y las aplicaciones se encuentren en su propia maquina virtual, pero no en un servidor completo. Las maquinas virtuales corren un versión de Windows Server 2008 modificada.

 

Windows Azure SDK

Windows Azure proporciona kits de desarrollo para crear servicios y almacenamiento de datos que residen en la nube o que utilizan la nube. Windows Azure SDK junto a Windows Azure Tools para Microsoft Visual Studio proporcionan plantillas para Visual Studio para la creación fácil de aplicaciones. El SDK ofrece Apis para acceder a los datos y a los servicios disponibles en la nube. También ofrece un ambiente de simulación para poder realizar pruebas en local antes de subirlo a la nube. Ofrece herramientas de publicación las cuales hace fácil la publicación de servicios en la nube

Links de interés.

Con esto terminamos de hablar a modo general de lo que es Windows Azure.

Saludos. Romny

Cloud Computing “Computación en la Nube” Parte III–Final

Hola a todos.

Siguiente con esta serie de artículos de Cloud Computing “Computación en la Nube”, Llegamos con esta tercera entrega. Para consultar los previos artículos los pueden hacer desde aquí.

En esta ultima entrega hablaremos sobre los tipos de nube que existen, y por que digo que ultimo, por el echo de que quería que conocieran de donde venia esto del Cloud Computing “Computación en la Nube”. Después hablaremos sobre Microsoft Windows Azure que es la apuesta de Microsoft a los temas de Cloud Computing “Computación en la Nube”.

Nube Privada

Nube privada es la implementación de servicios de la nube sobre los recursos que se dedican a su organización, ya sea una implementación dentro de las instalaciones de la organización (on-premises) o fuera de ellas (off-premises) . 

Hay dos modelos de servicios de nube que se pueden brindar en una nube privada: infraestructura como un servicio (IaaS) y la plataforma como un servicio (PaaS). Con IaaS, puede utilizar los recursos de la infraestructura (computacionales, de red y de almacenamiento de información) como un servicio, mientras que PaaS proporciona una plataforma completa de aplicaciones como un servicio.

 

Nube Publica

Una nube publica esta ubicada sobre la infraestructura del proveedor de servicios de computo. Así, los servicios de las nubes públicas son ofrecidos al público en general o a grupos de varias organizaciones , y su propietario es el propio proveedor de servicios . Las aplicaciones e información se almacenan en servidores externos y el servicio se ofrece a través de Internet. El uso de nubes públicas permite ampliar fácilmente los recursos necesitados, ya que éstas suelen tener más tamaño que las nubes privadas, normalmente implantadas en una única organización.

 

Nube Hibrida

Es una mescla de ambas nubes, donde las aplicaciones y los datos se ubican parcialmente en ambientes privados (on-premises) esto es dentro de las instalaciones de la empresa y parcialmente en nubes publicas (off-premises) esto es fuera de las instalaciones de la empresa.

 

Con esto mis estimados compañeros damos fin a esta serie de post donde se pretendía dar a conocer los temas fundamentales sobre el Cloud Computing “Computación en la Nube”.

Saludos. Romny

Cloud Computing “Computación en la Nube” Parte II

Hola a todos.

Siguiendo con el tema de Cloud Computing “Computación en la Nube” donde nuestro post anterior hablamos sobre unos conceptos que son buenos tenerlos en cuenta y el cual dejo el link para su consulta.

Cloud Computing “Computación en la Nube” Parte I

 

Fuente imagen: http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube

 

En este post hablaremos sobre los diferente servicios que la nube nos puede ofrecer.

Infraestructura como servicio (IaaS)

IaaS es el servicio tradicional de hospedaje de un centro de datos, donde los proveedores rentan tiempo de computo y espacio del centro de computo y todo lo que conlleva esos centros de computo como balance de carga, servidores, almacenes de datos, interconexiones, enrutamiento, algunos proveedores ofrecen equipos físicos dedicados, como otros ofreces equipos virtuales, los clientes proporcionan las aplicaciones y los datos y el proveedor proporciona el ambiente para ejecutar dichas aplicaciones y datos.

Plataforma como servicio (PaaS)

PaaS va mas allá que IaaS, incluye lo que ofrece IaaS mas otros servicios adicionales, ofrece la plataforma sobre la cual se pueden desarrollar aplicaciones, incluye herramientas y Apis para el soporte y desarrollo de aplicaciones para la nube ofreciéndole la facilidad de que el desarrollador solo se preocupe del desarrollo de su código.

Software como servicio (SaaS)

SaaS permite que una aplicación este disponible en internet mediante una suscripción de pago por el servicio, los usuarios SaaS no desarrollan aplicaciones, ni buscan un ambiente para poder hospedar aplicaciones, ellos usas las aplicaciones de la nube en ves de instalar dichas aplicaciones, las funciones de instalación, hospedaje y todo lo que se conlleve se lo dejan al proveedor, aquí solamente se usa el servicio en la nube.

Espero les haya gustado esta segunda parte.

Romny

Comenzando el 2012 Con el programa Microsoft Community Specialist (Beta Program)

Hola a todos.

Bueno es grato para mi, comenzar el año con la gran noticia de que fui aceptado en el programa Microsoft Community Specialist (Beta Program) de la mano de mi estimado WarNov

Para los que no saben de que se trata he aquí las propias palabras de WarNov

Microsoft Community Specialist (MCS) es un nuevo programa creado por el Developer Evangelist de Microsoft Colombia (por ahora solo aplica en Colombia) para entusiastas de nuestras tecnologías que aparte de el gran provecho que toman de ellas, están interesados en compartir ese conocimiento con la comunidad y además acceder a un conjunto de beneficios adicionales que desde Microsoft les reconocemos por su invaluable labor. Es un programa basado en puntos.  Fuente

La url del portal de los MCS es http://mcscolombia.org, allí podrá encontrar los datos de los participantes de este programa, así como muchos otros datos.

Antes de despedirme, les quiero agradecer a la comunidad de Avanet y a Sorey García primero por la oportunidad de pertenecer a la comunidad de Avanet y segundo por el apoyo de ella. También a WarNov por la oportunidad de pertenecer al programa.

Solo resta seguir trabajando por la comunidad y por el programa.

 

Saludos. Romny