SharePoint 2010: Integración con SQL Azure (II)!

Siguiendo con la serie de artículos en torno a la integración de SharePoint 2010 y SQL Azure, en esta nueva entrega vamos a ver como podemos modelar esa integración por medio de una WebPart que creemos con ayuda de las herramientas de desarrollo de Visual Studio 2010 para SharePoint 2010:

  • Creamos en primer lugar un proyecto de tipo “Empty SharePoint Project”.
  • Elegimos como tipo de despliegue “Deploy as farm solution”.
  • Añadimos al proyecto un elemento de tipo “Visual Web Part”
image image image
  • Añadimos dentro del SPI (SharePoint Project Item) correspondiente a la WebPart visual un elemento de tipo LINQ To SQL Classes.
  • Para definir el correspondiente modelo, creamos a través del Server Explorer una conexión a nuestra BD de SQL Azure especificando la dirección del servidor y el usuario SQL que nos permita acceder a la correspondiente BD.
  • Añadimos a la WebPart visual los controles que necesitemos de acuerdo a la funcionalidad a implementar.
image image image
  • En el code behind de la WebPart añadimos el siguiente código en el que:
    • Añadimos dos directivas using a System.LINQ y a nuestro modelo LINQ To SQL.
    • En el manejador del botón definimos una simple instancia del correspondiente contexto de datos especificando la cadena de conexión que nos permita conectarnos a la BD de SQL Azure.
    • Realizamos la correspondiente consulta LINQ y volcamos el resultado de la misma en el control GridView de la WebPart.
   1: using System;

   2: using System.Web.UI;

   3: using System.Web.UI.WebControls;

   4: using System.Web.UI.WebControls.WebParts;

   5:  

   6: //Espacios de nombres necesarios

   7: using System.Linq;

   8: using SPSQLAzureWP.SQLAzureWP;

   9:  

  10: namespace SPSQLAzureWP.SQLAzureWP

  11: {

  12:     public partial class SQLAzureWPUserControl : UserControl

  13:     {

  14:         protected void Page_Load(object sender, EventArgs e)

  15:         {

  16:         }

  17:  

  18:         protected void lnkbtnGetStoreInformation_Click(object sender, EventArgs e)

  19:         {

  20:             using (SQLAzureCustomersDataContext ctx =

  21:                 new SQLAzureCustomersDataContext(

  22:                     "Server=tcp:<Server>.database.windows.net;Database=<BS>;User ID=<User>;Password=<Password>;Trusted_Connection=False;Encrypt=True;"))

  23:             {

  24:                 

  25:             var Stores = from s in ctx.StoreInformations

  26:                          select s;

  27:             datagrdStoreData.DataSource = Stores;

  28:             datagrdStoreData.DataBind();

  29:             }

  30:  

  31:         }

  32:     }

  33: }

  • Realizamos el despliegue de la WebPart y comprobamos que se muestran los datos consultados.
  • Lógicamente, estos datos son los mismos a los que podemos acceder desde el portal de gestión de SQL Azure.
image image

Y hasta aquí llega este post sobre la integración de SQL Azure.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

2 comentarios en “SharePoint 2010: Integración con SQL Azure (II)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *