Você está na página 1de 7

Business Connectivity Services (BCS)

Paso 1: Origen de Datos



1. Abrir SQL Management y conectarse a la Base de datos SHARE2010\SharePoint


2. Hacer click en Bases de datos y seleccionar nueva Base de Datos
3. Agregar el nombre de la Base de Datos (Ej. Datos)



4. Click Ok para crearla
5. Expanda la Base de datos, localice la creada y cree una nueva tabla



6. Guarde la tabla generada e ingrese el nombre (Ej. Usuarios)


7. Click con el botn secundario en la BD, opcin Editar las primeras 200 filas



8. Agregamos datos a la tabla y guardamos


9. Salir de SQL Server Management y continuar con el siguiente paso





















Parte 2: Creando un Tipo de Contenido Externo

1. Abra SharePoint Designer 2010 y conecte al sitio de trabajo
2. Vamos a la pestaa de External Content Types y en la barra creamos uno nuevo



3. Hacemos click en New external content type e indicamos un nombre (Ej. Mis Datos)


4. Clickeamos donde dice discover external data souces and define operations
5. Se nos abrir una pantalla para seleccionar la fuente de datos, click en Add Connection y seleccionamos
SQL Server y luego los siguientes datos
Ej.
Database Server: SHARE2010\SHAREPOINT
Database Name: Datos


6. Vamos a la tabla y seleccionamos Create All Operations


7. En la siguiente pantalla damos click en next y nos saldrn nuestras columnas, seleccionamos una como
identificador (Ej. Rut) y click en Finish


8. Guardamos y seleccionamos la opcin Create List en el Menu


9. Ingresamos el nombre de la lista que crearemos en SharePoint y presionamos OK


Parte 3: Establecer Permisos a la lista

1. Abrir Central Administration - Application Management, click Manage Service Applications Click en
Business Data Connectivity Service



2. Seleccionamos la lista creada y clickeamos Set Object Permissions



3. Seleccionamos la cuenta y otorgamos los permisos.














Parte 4: Validaciones y Ejercicios

Ya podemos acceder a la lista y veremos que tenemos la misma informacin contenida en SQL, podemos hacer
pruebas agregando datos y veremos que estos tambin sern agregados en SQL o viceversa.

Creacin de WebPart

Crearemos un WebPart Simple donde leeremos los datos de la lista.
Necesitamos Visual y un sitio donde podamos realizar el Deploy de la solucin.

Clase.cs













ClaseUserControl.ascx.cs























[WebBrowsable(true), Category("Opciones Azurian"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("Nombre Lista")]
public string Lista { get; set; }

// Visual Studio might automatically update this path when you change the Visual Web Part
project item.

private const string _ascxPath =
@"~/_CONTROLTEMPLATES/DemoBCS/DatosUsuarios/DatosUsuariosUserControl.ascx";

protected override void CreateChildControls()
{
DatosUsuariosUserControl ownerControl =
(DatosUsuariosUserControl)Page.LoadControl(_ascxPath);
ownerControl.Lista = Lista;
Controls.Add(ownerControl);
}
[WebBrowsable(true), Category("Opciones Azurian"),
Personalizable(PersonalizationScope.Shared),
WebDisplayName("Nombre Lista")]
public string Lista { get; set; }

// Visual Studio might automatically update this path when you change the Visual Web Part
project item.

private const string _ascxPath =
@"~/_CONTROLTEMPLATES/DemoBCS/DatosUsuarios/DatosUsuariosUserControl.ascx";

protected override void CreateChildControls()
{
DatosUsuariosUserControl ownerControl =
(DatosUsuariosUserControl)Page.LoadControl(_ascxPath);
ownerControl.Lista = Lista;
Controls.Add(ownerControl);
}
public DatosUsuariosUserControl Control { get; set; }
public string Lista { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(Lista))
{
this.Controls.Add(new LiteralControl("Debe configurar los parametros del
WebPart"));
}
else
{
ConsultaUsuarios();
}
}
catch (Exception ex)
{
this.Controls.Add(new LiteralControl(ex.Message));
}
}

public DatosUsuariosUserControl Control { get; set; }
public string Lista { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(Lista))
{
this.Controls.Add(new LiteralControl("Debe configurar los parametros del
WebPart"));
}
else
{
ConsultaUsuarios();
}
}
catch (Exception ex)
{
this.Controls.Add(new LiteralControl(ex.Message));
}
}



















ClaseUserControl.ascx












Al realizar el Deploy el WebPart deber desplegar la informacin que indicamos en l.
Ej.


Gracias




Creado por Mauricio Miranda Octubre 2014
public void ConsultaUsuarios()
{
try
{
using (SPSite currentSite = new SPSite(SPContext.Current.Site.ID))

using (SPWeb currentWeb = currentSite.OpenWeb(currentSite.ServerRelativeUrl))
{
SPList listaDatos = currentWeb.Lists.TryGetList(Lista);
if (listaDatos.ItemCount != 0 || listaDatos != null)
{
DataTable tblDatos = new DataTable();
SPQuery currentQuery = new SPQuery();
currentQuery.ViewFields = "<FieldRef Name='Nombres' />" +
"<FieldRef Name='Cargo' />";
//currentQuery.Query = "<OrderBy><FieldRef Name='Created' Ascending='True'
/></OrderBy>";
//currentQuery.RowLimit = 4;
SPListItemCollection items = listaDatos.GetItems(currentQuery);
tblDatos = items.GetDataTable();
misDatos.DataSource = tblDatos;
misDatos.DataBind();
}
}
}
catch (Exception er)
{
this.Controls.Add(new LiteralControl("<b>Error en Query</b>" + er.Message));
}
}

public void ConsultaUsuarios()
{
try
{
using (SPSite currentSite = new SPSite(SPContext.Current.Site.ID))

using (SPWeb currentWeb = currentSite.OpenWeb(currentSite.ServerRelativeUrl))
{
SPList listaDatos = currentWeb.Lists.TryGetList(Lista);
if (listaDatos.ItemCount != 0 || listaDatos != null)
{
DataTable tblDatos = new DataTable();
SPQuery currentQuery = new SPQuery();
currentQuery.ViewFields = "<FieldRef Name='Nombres' />" +
"<FieldRef Name='Cargo' />";
//currentQuery.Query = "<OrderBy><FieldRef Name='Created' Ascending='True'
/></OrderBy>";
//currentQuery.RowLimit = 4;
SPListItemCollection items = listaDatos.GetItems(currentQuery);
tblDatos = items.GetDataTable();
misDatos.DataSource = tblDatos;
misDatos.DataBind();
}
}
}
catch (Exception er)
{
this.Controls.Add(new LiteralControl("<b>Error en Query</b>" + er.Message));
}
}

<div>
<asp:Repeater ID="misDatos" runat="server">
<ItemTemplate>
<div>
<span>
<%# Eval("Nombres") %></span> <span>
<%# Eval("Cargo") %></span>
</div>
</ItemTemplate>
</asp:Repeater>
</div>


<div>
<asp:Repeater ID="misDatos" runat="server">
<ItemTemplate>
<div>
<span>
<%# Eval("Nombres") %></span> <span>
<%# Eval("Cargo") %></span>
</div>
</ItemTemplate>
</asp:Repeater>
</div>

Você também pode gostar