viernes, 24 de agosto de 2012

Web Service SoftWare Factory 2010 con VS 2010 SP1

El concepto en si del WSSF es:

"Web Service Software Factory ha sido una pieza de software comunitario que desde hace 8 meses Microsoft ha venido incubando y prácticamente contiene una serie de patrones, lineamientos, documentación, herramientas y ejemplos para construir servicios. "

Bueno aqui detallaré lo necesario para poder instalar el WSSF 2010 en VS 2010 SP1, para esto recalco que estos archivos son para Visual Studio 2010 con Service Pack 1.

Para esto hay que descargar los siguientes componentes:

  1. Visual Studio 2010 SDK SP1
  2. GAX 2010
  3. GAT 2010
  4. Web Service Software Factory 2010 
Una vez teniendo todos estos componentes descargados se procederá a instalar cada uno en orden.

Suerte!

Link: http://msdn.microsoft.com/en-us/library/ff699490.aspx


Exam 70-503: Microsoft .NET Framework 3.5 Windows Communication Foundation

Aquí les dejo el libro en ingles y en formato PDF para la certificación con WCF.


Link: http://sdrv.ms/NL8xDO

miércoles, 22 de agosto de 2012

Buscar un valor dentro de todas las tablas en SQL SERVER

No ha pasado que se desea buscar un valor en todas las tablas y columnas de la base de datos. Bueno aquí dejo una sentencia sql server que ayudará en esta tarea y para ello solo se necesita definir el valor que se desea buscar en la variable "@searchWord" y ejecutar toda la sentencia.

El ejemplo que se muestra busca la palabra "http" dentro de todas las tablas y columnas.

SET NOCOUNT ON

DECLARE @searchWord AS VARCHAR(255)
SET @searchWord = 'http'

IF OBJECT_ID('tempdb..#tmpResults') IS NOT NULL
    DROP TABLE #tmpResults

CREATE TABLE #tmpResults (idRow int identity(1,1), tableName VARCHAR(255), ColumnName VARCHAR(255))

DECLARE @idTable AS INT

SELECT @idTable = MIN(OBJECT_ID)
FROM sys.tables

WHILE @idTable IS NOT NULL
BEGIN
    DECLARE @nameTable AS VARCHAR(255)

    SELECT TOP 1 @nameTable = RTRIM(LTRIM(name))
    FROM sys.tables
    WHERE OBJECT_ID = @idTable

    DECLARE @idColumn AS INT

    SELECT @idColumn = MIN(COLUMN_ID)
    FROM sys.columns 
    WHERE OBJECT_ID = @idTable 

    WHILE @idColumn IS NOT NULL
    BEGIN
        DECLARE @nameColumn AS VARCHAR(255)
        
        SELECT @nameColumn = RTRIM(LTRIM(name))
        FROM sys.columns 
        WHERE OBJECT_ID = @idTable
        AND COLUMN_ID = @idColumn

        DECLARE @sqlCommand AS NVARCHAR(255) 
        SET @sqlCommand = N'SELECT @value=COUNT(1) FROM ' + @nameTable + ' WHERE ' + @nameColumn + ' LIKE ''%' + @searchWord + '%'''
        DECLARE @sqlParameter AS NVARCHAR(20) 
        SET @sqlParameter = N'@value INT OUTPUT'
        DECLARE @valueOut AS INT
        EXECUTE sp_executesql @sqlCommand,@sqlParameter,@value=@valueOut OUTPUT
    
        IF @valueOut > 0 
            INSERT INTO #tmpResults(tableName, columnName) VALUES (@nameTable,@nameColumn)

        SELECT @idColumn = MIN(COLUMN_ID)
        FROM sys.columns 
        WHERE OBJECT_ID = @idTable
        AND COLUMN_ID > @idColumn
    END

    SELECT @idTable = MIN(OBJECT_ID)
    FROM sys.tables 
    WHERE OBJECT_ID > @idTable
    
END

SELECT * FROM #tmpResults

IF OBJECT_ID('tempdb..#tmpResults') IS NOT NULL
        DROP TABLE #tmpResults

SET NOCOUNT OFF

Esta consulta devolverá como resultado el nombre de la tablas y las columnas en donde encontró la palabra "http".