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”
- 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.
- 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.
Y hasta aquí llega este post sobre la integración de SQL Azure.