domingo, 19 de agosto de 2007

Integración CLR

Para poder usar esta nueva característica de SQL Server 2005 primero debemos habilitarla, para ello tenemos 2 opciones:
1.- Desde la Configuración del área de superficie para características. Desplegamos el nodo Motor de Base de datos, seleccionamos la opción Integración CLR marcando o desmarcando la casilla para habilitar o deshabilitar la característica.
2.- O bien mediante una sentencia T-SQL. Para poder ejecutar con éxito esta sentencia debemos tener permisos de sysadmin y serveradmin. La consulta es esta:
sp_configure ‘clr enabled’, 1
GO
RECONFIGURE
GO
Para deshabilitar la opción sustituiremos el 1 por un 0 (‘clr enabled’, 0)

Una vez ya tenemos activada esta opción pasamos a ver las posibilidades que nos brinda.

1.- Crearemos un nuevo proyecto de tipo Base de datos


2.- Una vez creado añadiremos un elemento nuevo, en este caso vamos a añadir una función definida por el usuario y la llamaremos clrDiaSemana



3.- Agregamos funcionalidad a nuestra función:



La función es muy sencilla y en SQL Server ya existe una función para devolver el día de la semana según una fecha dada (DATEPART, ver los BOL para su uso).

Una vez hecho esto tenemos que compilar el proyecto y una vez compilado lo implementamos (deploy), en SQL Server 2005 que es el servidor que acogerá el código .Net (en forma de ensamblado, en este caso de dll) y lo ejecutará en su interior.
Para comprobar que tenemos el ensamblado .Net que acabamos de implementar en SQL Server 2005, abriremos Sql Management Studio y desplegaremos la subcarpeta Ensamblados de la carpeta Programación de la base de datos que especificamos como conexión.


En la imagen podéis ver la manera de invocar a la función pasándole un parámetro, siempre que queramos hacer uso de la función debemos especificar a que esquema pertenece la función.

No hay comentarios: