Índice

SQL Server y CLR

SQL Server es capaz de administrar datos cada vez más complejos, pero también debe ofrecer la posibilidad de definir en el servidor operaciones cada vez más precisas y complejas, para proporcionar siempre más funcionalidades. En algunos casos, el lenguaje Transact SQL no permite definir el tratamiento que se desea realizar. Gracias a la integración de CLR (Common Language Runtime) .NET directamente en el motor de base de datos, es posible programar operaciones con C# o VB.NET.

La programación de estas operaciones se podrá hacer directamente desde Visual Studio. Para que los métodos y procedimientos que se definen de esta manera se puedan utilizar desde las instrucciones SQL, se hace un mapeo Transact SQL con el código MSIL (Microsoft Intermediate Language).

El hecho de pasar por CLR integrado en SQL Server, es mucho más seguro (y sencillo) que llamar a procedimientos almacenados extendidos. Efectivamente, la parte CLR presente en SQL Server es parcial y no cubre todas las funcionalidades que ofrece el Framework .NET. Por ejemplo, no están los objetos que permiten la gestión de la interfaz gráfica. Limitando el número de funcionalidades que ofrece CLR, es posible evitar códigos malintencionados.

1. ¿Transact SQL o CLR?

Escribiendo código CLR en SQL Server, se plantea un nuevo problema al desarrollador. ¿Cuándo trabajar con un lenguaje del Framework .NET y cuándo con Transact SQL?

Al contrario de lo que podría ...