A raíz de algunos post y preguntas de varias personas sobre como extraer los archivos almacenados en la base de datos de contenido de SharePoint (WSS_Content) pues nos dedicamos a indagar un poco, por supuesto advertir que las tablas a las que hacemos mención en el articulo están sujetas a cambios con actualizaciones de versiones etc. pero de momento sirve. Por otro lado alguno seguro que se está preguntando para que queremos extraer esa información si ya tenemos SharePoint, no voy a entrar a explicar los detalles pero podéis creerme que en determinadas situaciones resulta útil. Este procedimiento no tiene en cuenta el control de versiones ni la propiedad de los archivos obtenidos, pero estos se pueden obtener consultando directamente las tablas importadas a la base de datos auxiliar.

  1. En primer lugar y para no perder el soporte del fabricante del producto (Microsoft) no tocar donde no se debe. Crearemos una base de datos para exportar 2 tablas desde wss_content, si no es en producción mejor. La llamamos Wss_Content_AUX por ejemplo.
  2. Exportamos desde Wss_content de producción a la base de datos creada Wss_Content_AUX las tablas dbo.AllDocs y dbo.AllDocStreams completas.
  3. En la base de datos Wss_Content_AUX creamos la siguiente vista con objeto de ofrecer todas las columnas que necesitamos a la tarea de Exportar Columnas de Integration Services mas adelante.
    use Wss_Content_AUX
    go
    Create view Documentos_en_SPS
    as
    Select LEAFNAME, A.ID, DirNAme,Content
    from dbo.AllDocs A
    join dbo.AllDocStreams B
    on A.id=b.id
    GO
  4. Con Integration Services creamos un sencillo paquete que contenga un origen de datos apuntando a Wss_Content_AUX como base de datos y a la vista Documentos_en_SPS como tabla o vista.
  5. Creamos una variable para almecenar la parte fija de la ruta de disco donde se ubicaran los ficheros.
    Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services
  6. Agregamos una columna derivada para calcular el nombre completo concatenando la variable con el contenido de la columna LEAFNAME que trae el nombre del archivo como se muestra en la figura.
    Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services
  7. Por último agregamos la tarea de exportar columna especificando que la columna a exportar es content y la ruta la columna Path agregada con la columna derivada un paso antes.

Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services

 Este es al aspecto que presenta nuestro flujo de datos una vez creado.

Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services

 

0 Shares:
Deja una respuesta

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

You May Also Like

Extraer datos de Twitter desde un servicio creado con Python en Visual Studio 2017

En el post que os traemos hoy vamos a ver como crear (con Visual studio 2017) mediante un script en python un programa que podremos ejecutar como un servicio de windows y que extraiga en tiempo real los twitts relacionados con determinadas palabras o hashtags, los almacene en una base de datos sql server, para luego explotarlos con powerbi. El objetivo de este script es el de conectar al api de streaming de twitter al que le pasaremos una lista de hashtags o terminos y nos devolverá de forma indefinida en tiempo real los twitts que se van publicando que contienen estos terminos.

Administrando SSIS 2012 mediante T-SQL

A lo largo de este artículo iremos desglosando los diferentes apartados del catálogo, como se puede interactuar con él mediante código T-SQL y como esto puede modificar nuestras maneras de trabajar con SQL Server Integration Services, simplificándolas y haciéndonos más efectivos.